diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index a5cf513..2ccca07 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -1,4 +1,4 @@
-name: Deploy to GitHub Pages
+name: Build and Deploy
on:
push:
@@ -7,100 +7,694 @@ on:
- development
- testing
+permissions:
+ contents: write
+
+concurrency:
+ group: deploy-gh-pages
+ cancel-in-progress: false
+
+env:
+ NODE_VERSION: 24
+
jobs:
- deploy:
+ prepare-env:
runs-on: ubuntu-latest
+ outputs:
+ build_env: ${{ steps.set-env.outputs.build_env }}
+ path: ${{ steps.set-env.outputs.path }}
+ page_root: ${{ steps.set-env.outputs.page_root }}
+ build_prefix: ${{ steps.set-env.outputs.build_prefix }}
steps:
- name: Set environment variables
id: set-env
run: |
- echo "::set-output name=build_env::$(if [ '${{ github.ref }}' = 'refs/heads/release' ]; then echo 'production'; else echo 'development'; fi)"
- echo "::set-output name=path::$(if [ '${{ github.ref }}' = 'refs/heads/release' ]; then echo 'app'; elif [ '${{ github.ref }}' = 'refs/heads/testing' ]; then echo 'test'; else echo 'development'; fi)"
- echo "::set-output name=page_root::$(if [ '${{ github.ref }}' = 'refs/heads/release' ]; then echo '/CheemsBonkGame/app/'; elif [ '${{ github.ref }}' = 'refs/heads/testing' ]; then echo '/CheemsBonkGame/test/'; else echo '/CheemsBonkGame/development/'; fi)"
- echo "::set-output name=build_prefix::$(if [ '${{ github.ref }}' = 'refs/heads/release' ]; then echo 'prod'; elif [ '${{ github.ref }}' = 'refs/heads/testing' ]; then echo 'test'; else echo 'dev'; fi)"
- - name: Checkout code
- uses: actions/checkout@v3
+ if [ '${{ github.ref }}' = 'refs/heads/release' ]; then
+ echo "build_env=production" >> $GITHUB_OUTPUT
+ echo "path=app" >> $GITHUB_OUTPUT
+ echo "page_root=/CheemsBonkGame/app/" >> $GITHUB_OUTPUT
+ echo "build_prefix=prod" >> $GITHUB_OUTPUT
+ elif [ '${{ github.ref }}' = 'refs/heads/testing' ]; then
+ echo "build_env=development" >> $GITHUB_OUTPUT
+ echo "path=test" >> $GITHUB_OUTPUT
+ echo "page_root=/CheemsBonkGame/test/" >> $GITHUB_OUTPUT
+ echo "build_prefix=test" >> $GITHUB_OUTPUT
+ else
+ echo "build_env=development" >> $GITHUB_OUTPUT
+ echo "path=dev" >> $GITHUB_OUTPUT
+ echo "page_root=/CheemsBonkGame/dev/" >> $GITHUB_OUTPUT
+ echo "build_prefix=dev" >> $GITHUB_OUTPUT
+ fi
- - name: Set up Node.js
- uses: actions/setup-node@v3
+ compile-web:
+ needs: prepare-env
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
with:
- node-version: latest
-
- - name: Install Angular CLI
- run: npm install -g @angular/cli
+ node-version: ${{ env.NODE_VERSION }}
+ - name: Install Dependencies
+ env:
+ NODE_TLS_REJECT_UNAUTHORIZED: 0
+ run: |
+ # Try installing globals up to 3 times to handle random network drops
+ for i in 1 2 3; do
+ npm install -g @angular/cli @capacitor/cli @capacitor/assets png-to-ico && break || sleep 5
+ done
+
+ # Use 'npm ci' for reliable CI builds (falls back to 'npm install' if no lockfile exists)
+ npm ci || npm install
- - name: Install dependencies
- run: npm install
+
- name: Setup PWA
env:
- build_prefix: ${{ steps.set-env.outputs.build_prefix }}
+ build_prefix: ${{ needs.prepare-env.outputs.build_prefix }}
run: |
rm -rf public/img/icons/pwa
mkdir -p public/img/icons/pwa
cp .pwa/icons-$build_prefix/pwa/* public/img/icons/pwa
- rm public/img/favicon.ico
+ rm -f public/img/favicon.ico
cp .pwa/favicon-$build_prefix.ico public/img/favicon.ico
- rm public/manifest.webmanifest
+ rm -f public/manifest.webmanifest
cp .pwa/manifest-$build_prefix.webmanifest public/manifest.webmanifest
- cp .pwa/styles-$build_prefix.css src/styles.css
- - name: Build the application
+ - name: Build Web
env:
- build_env: ${{ steps.set-env.outputs.build_env }}
- page_root: ${{ steps.set-env.outputs.page_root }}
- run: npm run build -- --configuration="$build_env" --base-href="$page_root"
+ build_env: ${{ needs.prepare-env.outputs.build_env }}
+ run: npm run build -- --configuration="$build_env"
- - name: Set up SSH Key
+ - name: Upload Web Artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: web-app-${{ needs.prepare-env.outputs.build_prefix }}
+ path: dist/
+
+ - name: Deploy to gh-pages
env:
- DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
+ GH_PAT: ${{ secrets.GH_PAT }}
+ path: ${{ needs.prepare-env.outputs.path }}
+ build_env: ${{ needs.prepare-env.outputs.build_env }}
+ page_root: ${{ needs.prepare-env.outputs.page_root }}
run: |
- mkdir -p ~/.ssh
- echo "$DEPLOY_KEY" > ~/.ssh/deploy_key
- chmod 600 ~/.ssh/deploy_key
- ssh-keyscan github.com >> ~/.ssh/known_hosts
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/deploy_key
- git config --global user.name "GitHub Actions"
- git config --global user.email "actions@github.com"
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+ if [ -n "$GH_PAT" ]; then
+ REPO_URL="https://x-access-token:${GH_PAT}@github.com/${{ github.repository }}.git"
+ else
+ REPO_URL="https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git"
+ fi
+ if git clone --branch gh-pages --single-branch "$REPO_URL" deploy-folder 2>/dev/null; then
+ echo "Cloned existing gh-pages branch."
+ else
+ echo "gh-pages branch does not exist yet. Creating orphan branch."
+ mkdir deploy-folder
+ cd deploy-folder
+ git init
+ git remote add origin "$REPO_URL"
+ git checkout --orphan gh-pages
+ cd ..
+ fi
+ target_dir="deploy-folder/$path"
+ rm -rf "$target_dir"
+ mkdir -p "$target_dir"
+ cp -r dist/cheems-angular/browser/* "$target_dir/"
+
+ sed -i 's|
-
-
-
-
-
-
-
-
- Esta página está en desarrollo aún
-Reset to zero
-Unlock All
-- Si los archivos ya estabán descargados, se actualizarán con el servidor, si estás sin - conexión, se cargarán desde caché. -
-- Realizar esto es importante para poder mejorar la velocidad de carga y usar la aplicación - en el modo Offline (Sin conexión). -
-- Nota: Se pueden descargar hasta 118 MB, revisa el peso de la descarga antes de descargar con - redes móviles, tu proovedor de red móvil podría aplicar cargos de conexión. -
-- Descarga de Scripts. -
-- Peso estimado: 506 KB -
-Descargar Scripts
-- Descarga de imagenes. -
-- Peso estimado: 9.98 MB -
-Descargar Imagenes
-
- - Descarga de efectos de sonido. -
-- Peso estimado: 305 KB -
-Descargar Efectos de sonido.
- -
- ${resourceUrl}
`+container.innerHTML; - - console.log(`Descargando ${resourceUrl}`); - await sleep(250); - } - container.innerHTML = 'Contenedor de scripts...'; - label.innerHTML = "Recursos descargados!"; -} - -async function DownloadSounds() { - SND = document.getElementById("loadableSound"); - SNDLabel = document.getElementById("process-sounds"); - sounds = [ - "sound/discord-connect.ogg", - "sound/discord-disconnect.ogg", - "sound/discord-msg.ogg", - "sound/hello.ogg", - "sound/hit-minecraft.ogg", - "sound/hit.ogg", - "sound/hurt-minecraft.ogg", - "sound/hurt-roblox.ogg", - "sound/levelup1.ogg", - "sound/levelup2.ogg", - "sound/no.ogg", - "sound/pato.ogg", - "sound/peluche.ogg", - "sound/splat.ogg", - "sound/windows-error.ogg" - ]; - SNDLabel.innerHTML = "Descargando Efectos de sonido..."; - for (i = 0; i < sounds.length; i++) { - SND.src = sounds[i]; - console.log(sounds[i]); - await sleep(250); - } - SNDLabel.innerHTML = "Efectos de sonido Descargados!!!"; - SND.src = ""; -} \ No newline at end of file diff --git a/legacy_js/manifest.json b/legacy_js/manifest.json deleted file mode 100644 index eb26abb..0000000 --- a/legacy_js/manifest.json +++ /dev/null @@ -1,64 +0,0 @@ -{ -"name": "CheemsAppLi", -"short_name": "Cheems App Li", -"start_url": "/", -"display": "standalone", -"description": "Cheems Bonk Game", -"lang": "es", -"dir": "auto", -"theme_color": "#f7ce45", -"background_color": "#8a4c06", -"orientation": "any", -"icons": [ - { - "src": "/img/icon-512x512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "/img/icon-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any" - } -], -"screenshots": [ - { - "src": "/img/capture1.png", - "sizes": "680x685", - "type": "image/png", - "description": "A screenshot of the main game" - }, - { - "src": "/img/capture2.png", - "sizes": "680x684", - "type": "image/png", - "description": "A screenshot of the main game hitting to cheems" - }, - { - "src": "/img/capture3.png", - "sizes": "680x685", - "type": "image/png", - "description": "A screenshot of the closet menu" - } -], -"related_applications": [ - { - "platform":"windows", - "url": "/" - }, - { - "platform":"android", - "url": "/" - } -], -"prefer_related_applications": false, -"shortcuts": [ - { - "name":"The name you would like to be displayed for your shortcut", - "url":"The url you would like to open when the user chooses this shortcut. This must be a URL local to your PWA. For example: If my start_url is /, this URL must be something like /shortcut", - "description":"A description of the functionality of this shortcut" - } -] -} \ No newline at end of file diff --git a/legacy_js/menu.html b/legacy_js/menu.html deleted file mode 100644 index adaed78..0000000 --- a/legacy_js/menu.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - -Ajustes
-Descarga de recursos (Modo offline)
-Tienda
-Personalización
-Estadisticas
-Licencias
-Volumen de la música
-Volumen de los efectos
-- Modo Alto contraste -
-Redirecting... Click here if not redirected.
+ + diff --git a/public/data/cheems.json b/public/data/cheems.json new file mode 100644 index 0000000..c8fda6d --- /dev/null +++ b/public/data/cheems.json @@ -0,0 +1,115 @@ +[ + { + "id": "cheems_normal", + "nameKey": "cheems_normal", + "img": "normal.png", + "hitImg": "normal.png", + "default": true, + "storageKey": "c1", + "description": "cheems_normal_desc" + }, + { + "id": "cheems_little", + "nameKey": "cheems_little", + "img": "little.png", + "hitImg": "little.png", + "storageKey": "c2", + "description": "cheems_little_desc" + }, + { + "id": "cheems_adult", + "nameKey": "cheems_adult", + "img": "adult.png", + "hitImg": "adult.png", + "storageKey": "c3", + "description": "cheems_adult_desc" + }, + { + "id": "cheems_kid", + "nameKey": "cheems_kid", + "img": "kid.png", + "hitImg": "kid.png", + "storageKey": "c4", + "description": "cheems_kid_desc" + }, + { + "id": "cheems_mamado", + "nameKey": "cheems_mamado", + "img": "mamado.png", + "hitImg": "mamado.png", + "storageKey": "c5", + "description": "cheems_mamado_desc" + }, + { + "id": "cheems_pixelart", + "nameKey": "cheems_pixelart", + "img": "pixelart.png", + "hitImg": "pixelart.png", + "storageKey": "c6", + "description": "cheems_pixelart_desc" + }, + { + "id": "cheems_elegant", + "nameKey": "cheems_elegant", + "img": "elegant.png", + "hitImg": "elegant.png", + "storageKey": "c7", + "description": "cheems_elegant_desc" + }, + { + "id": "cheems_3d", + "nameKey": "cheems_3d", + "img": "3d.png", + "hitImg": "3d.png", + "storageKey": "c8", + "description": "cheems_3d_desc" + }, + { + "id": "cheems_black", + "nameKey": "cheems_black", + "img": "black.png", + "hitImg": "black.png", + "storageKey": "c9", + "description": "cheems_black_desc" + }, + { + "id": "cheems_minecraft", + "nameKey": "cheems_minecraft", + "img": "cubes.png", + "hitImg": "cubes.png", + "storageKey": "c10", + "description": "cheems_minecraft_desc" + }, + { + "id": "cheems_not_a_dog", + "nameKey": "cheems_not_a_dog", + "img": "not_a_dog.png", + "hitImg": "not_a_dog.png", + "storageKey": "c11", + "description": "cheems_not_a_dog_desc" + }, + { + "id": "cheems_not_a_plumber", + "nameKey": "cheems_not_a_plumber", + "img": "not_a_plumber.png", + "hitImg": "not_a_plumber.png", + "storageKey": "c12", + "description": "cheems_not_a_plumber_desc" + }, + { + "id": "cheems_not_ai", + "nameKey": "cheems_not_ai", + "img": "not_ai.png", + "hitImg": "not_ai.png", + "storageKey": "c13", + "description": "cheems_not_ai_desc" + }, + { + "id": "cheems_realistic", + "nameKey": "cheems_realistic", + "img": "realistic.png", + "hitImg": "realistic.png", + "storageKey": "c14", + "description": "cheems_realistic_desc" + } +] \ No newline at end of file diff --git a/public/data/closet.json b/public/data/closet.json new file mode 100644 index 0000000..3854dca --- /dev/null +++ b/public/data/closet.json @@ -0,0 +1,64 @@ +{ + "cheems": [ + "cheems_normal", + "cheems_little", + "cheems_adult", + "cheems_kid", + "cheems_mamado", + "cheems_pixelart", + "cheems_elegant", + "cheems_3d", + "cheems_black", + "cheems_minecraft", + "cheems_not_a_dog", + "cheems_not_a_plumber", + "cheems_not_ai", + "cheems_realistic" + ], + "sounds": [ + "sfx_1", + "sfx_2", + "sfx_3", + "sfx_4", + "sfx_5", + "sfx_6", + "sfx_7", + "sfx_8", + "sfx_9", + "sfx_10", + "sfx_11", + "sfx_12" + ], + "music": [ + "music_0", + "music_1", + "music_2", + "music_3", + "music_4", + "music_5", + "music_6", + "music_7", + "music_8", + "music_9", + "music_10", + "music_11", + "music_12", + "music_13", + "music_14", + "music_15", + "music_16", + "music_17", + "music_18", + "music_19", + "music_20", + "music_21", + "music_22", + "music_23", + "music_24", + "music_25", + "music_26", + "music_27", + "music_28", + "music_29" + ] +} \ No newline at end of file diff --git a/public/data/minigames.json b/public/data/minigames.json new file mode 100644 index 0000000..af7bbaa --- /dev/null +++ b/public/data/minigames.json @@ -0,0 +1,72 @@ +[ + { + "id": "block_breaker", + "name": "Merge Diggers", + "points": 100, + "mgPoints": 1, + "levelMgPoints": 2 + }, + { + "id": "attack_hole", + "name": "Attack Hole", + "points": 25000, + "mgPoints": 10, + "levelMgPoints": 1 + }, + { + "id": "doge_rescue", + "name": "Doge Rescue", + "points": 0, + "mgPoints": 0, + "levelMgPoints": 3 + }, + { + "id": "flappy_dunk", + "name": "Flappy Dunk", + "points": 10, + "mgPoints": 5, + "levelMgPoints": 5 + }, + { + "id": "helix_jump", + "name": "Helix Jump", + "points": 1000, + "mgPoints": 10, + "levelMgPoints": 1 + }, + { + "id": "magic_sort", + "name": "Magic Sort", + "points": 10, + "mgPoints": 0, + "levelMgPoints": 1 + }, + { + "id": "mob_control", + "name": "Mob Control", + "points": 100, + "mgPoints": 1, + "levelMgPoints": 2 + }, + { + "id": "paper_io", + "name": "Paper.io", + "points": 1000, + "mgPoints": 1, + "levelMgPoints": 0 + }, + { + "id": "spiral_roll", + "name": "Spiral Roll", + "points": 1000, + "mgPoints": 1, + "levelMgPoints": 1 + }, + { + "id": "stack_colors", + "name": "Stack Colors", + "points": 100, + "mgPoints": 1, + "levelMgPoints": 2 + } +] diff --git a/public/data/music.json b/public/data/music.json new file mode 100644 index 0000000..8e0362f --- /dev/null +++ b/public/data/music.json @@ -0,0 +1,302 @@ +[ + { + "id": "music_0", + "nameKey": "music_0", + "file": "", + "basePath": "sound/music/", + "default": true, + "storageKey": "m0", + "description": "music_0_desc", + "cover": "img/music/no_image.png" + }, + { + "id": "music_1", + "nameKey": "music_1", + "file": "A_Jazz_Piano.ogg", + "basePath": "sound/music/", + "default": true, + "storageKey": "m1", + "description": "music_1_desc", + "cover": "img/music/no_image.png" + }, + { + "id": "music_2", + "nameKey": "music_2", + "file": "Jack_Bootleg.ogg", + "basePath": "sound/music/", + "default": false, + "storageKey": "m2", + "description": "music_2_desc", + "cover": "img/music/jack_bootleg.png" + }, + { + "id": "music_3", + "nameKey": "music_3", + "file": "Magic_night.ogg", + "basePath": "sound/music/", + "default": false, + "storageKey": "m3", + "description": "music_3_desc", + "cover": "img/music/magic_night.png" + }, + { + "id": "music_4", + "nameKey": "music_4", + "file": "Minimalism_No9.ogg", + "basePath": "sound/music/", + "default": false, + "storageKey": "m4", + "description": "music_4_desc", + "cover": "img/music/minimalism_no9.png" + }, + { + "id": "music_5", + "nameKey": "music_5", + "file": "Minimalism_No10.ogg", + "basePath": "sound/music/", + "default": false, + "storageKey": "m5", + "description": "music_5_desc", + "cover": "img/music/minimalism_no10.png" + }, + { + "id": "music_6", + "nameKey": "music_6", + "file": "When_you_smile.ogg", + "basePath": "sound/music/", + "default": false, + "storageKey": "m6", + "description": "music_6_desc", + "cover": "img/music/when_you_smile.png" + }, + { + "id": "music_7", + "nameKey": "music_7", + "file": "TETRIS (Joey iLLah Bootleg) (Final).wav", + "basePath": "sound/music/", + "default": false, + "storageKey": "m7", + "description": "music_7_desc", + "cover": "img/music/tetris_bootleg.png" + }, + { + "id": "music_8", + "nameKey": "music_8", + "file": "separation-185196.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m8", + "description": "music_8_desc", + "cover": "img/music/no_image.png" + }, + { + "id": "music_9", + "nameKey": "music_9", + "file": "electro-summer-positive-party-141081.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m9", + "description": "music_9_desc", + "cover": "img/music/electro_summer_positive_party.png" + }, + { + "id": "music_10", + "nameKey": "music_10", + "file": "titanium-170190.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m10", + "description": "music_10_desc", + "cover": "img/music/titanium.png" + }, + { + "id": "music_11", + "nameKey": "music_11", + "file": "believe-me-143530.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m11", + "description": "music_11_desc", + "cover": "img/music/believe_me.png" + }, + { + "id": "music_12", + "nameKey": "music_12", + "file": "city-streets-background-version-166003.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m12", + "description": "music_12_desc", + "cover": "img/music/city_streets.png" + }, + { + "id": "music_13", + "nameKey": "music_13", + "file": "coffee-shop-189585.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m13", + "description": "music_13_desc", + "cover": "img/music/no_image.png" + }, + { + "id": "music_14", + "nameKey": "music_14", + "file": "trap-future-bass-royalty-free-music-167020.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m14", + "description": "music_14_desc", + "cover": "img/music/trap_future_bass.png" + }, + { + "id": "music_15", + "nameKey": "music_15", + "file": "bonk_the_amber.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m15", + "description": "music_15_desc", + "cover": "img/music/bonk_the_amber.png" + }, + { + "id": "music_16", + "nameKey": "music_16", + "file": "bonk_the_avatar.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m16", + "description": "music_16_desc", + "cover": "img/music/bonk_the_avatar.png" + }, + { + "id": "music_17", + "nameKey": "music_17", + "file": "bonus_level_bounce.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m17", + "description": "music_17_desc", + "cover": "img/music/bonus_level_bounce.png" + }, + { + "id": "music_18", + "nameKey": "music_18", + "file": "button_smash_routine.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m18", + "description": "music_18_desc", + "cover": "img/music/button_smash_routine.png" + }, + { + "id": "music_19", + "nameKey": "music_19", + "file": "cheems-chan_bonk.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m19", + "description": "music_19_desc", + "cover": "img/music/cheems_chan_bonk.png" + }, + { + "id": "music_20", + "nameKey": "music_20", + "file": "click_for_a_bonk.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m20", + "description": "music_20_desc", + "cover": "img/music/click_for_a_bonk.png" + }, + { + "id": "music_21", + "nameKey": "music_21", + "file": "hardwood_strike.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m21", + "description": "music_21_desc", + "cover": "img/music/hardwood_strike.png" + }, + { + "id": "music_22", + "nameKey": "music_22", + "file": "perfect_round.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m22", + "description": "music_22_desc", + "cover": "img/music/perfect_round.png" + }, + { + "id": "music_23", + "nameKey": "music_23", + "file": "pocket_change_victory.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m23", + "description": "music_23_desc", + "cover": "img/music/pocket_change_victory.png" + }, + { + "id": "music_24", + "nameKey": "music_24", + "file": "quick_loot_run.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m24", + "description": "music_24_desc", + "cover": "img/music/quick_loot_run.png" + }, + { + "id": "music_25", + "nameKey": "music_25", + "file": "target_in_the_sight.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m25", + "description": "music_25_desc", + "cover": "img/music/target_in_the_sight.png" + }, + { + "id": "music_26", + "nameKey": "music_26", + "file": "the_hammer_falls.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m26", + "description": "music_26_desc", + "cover": "img/music/the_hammer_falls.png" + }, + { + "id": "music_27", + "nameKey": "music_27", + "file": "the_late_commute.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m27", + "description": "music_27_desc", + "cover": "img/music/the_late_commute.png" + }, + { + "id": "music_28", + "nameKey": "music_28", + "file": "the_unwritten_page.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m28", + "description": "music_28_desc", + "cover": "img/music/the_unwritten_page_bage.png" + }, + { + "id": "music_29", + "nameKey": "music_29", + "file": "where_the_path_bends.mp3", + "basePath": "sound/music/", + "default": false, + "storageKey": "m29", + "description": "music_29_desc", + "cover": "img/music/where_the_path_bends.png" + } +] \ No newline at end of file diff --git a/public/data/shop.json b/public/data/shop.json new file mode 100644 index 0000000..0339e2f --- /dev/null +++ b/public/data/shop.json @@ -0,0 +1,868 @@ +[ + { + "_comment": "--- Currencies ---" + }, + { + "id": "dogecoin_1", + "type": "dogecoin", + "nameKey": "shop_dogecoin_special_name", + "descKey": "shop_dogecoin_special_desc", + "cost": "${daily_price} / 2", + "costCoins": 0, + "coinsGiven": 1, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": "${daily_price_4} / 100 + 1" + }, + { + "id": "dogecoin_2", + "type": "dogecoin", + "nameKey": "shop_dogecoin_1_name", + "descKey": "shop_dogecoin_1_desc", + "cost": "${daily_price}", + "costCoins": 0, + "coinsGiven": 1, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": 0 + }, + { + "id": "dogecoin_3", + "type": "dogecoin", + "nameKey": "shop_dogecoin_2_name", + "descKey": "shop_dogecoin_2_desc", + "cost": "${daily_price} * 1.8", + "costCoins": 0, + "coinsGiven": 2, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": 0 + }, + { + "id": "dogecoin_4", + "type": "dogecoin", + "nameKey": "shop_dogecoin_5_name", + "descKey": "shop_dogecoin_5_desc", + "cost": "${daily_price} * 10 - ${daily_price} - ${daily_price_2}", + "costCoins": 0, + "coinsGiven": 5, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": "${daily_price_4} / 10 + 1" + }, + { + "id": "dogecoin_5", + "type": "dogecoin", + "nameKey": "shop_dogecoin_10_name", + "descKey": "shop_dogecoin_10_desc", + "cost": "${daily_price} * 10 - ${daily_price} - ${daily_price_3} * 2", + "costCoins": 0, + "coinsGiven": 10, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": "${daily_price_2} / 10 + 1" + }, + { + "id": "dogecoin_6", + "type": "dogecoin", + "nameKey": "shop_dogecoin_20_name", + "descKey": "shop_dogecoin_20_desc", + "cost": "${daily_price} * 20 - ${daily_price} - ${daily_price_4} * 2", + "costCoins": 0, + "coinsGiven": 20, + "multiplier": 1, + "durationMin": 0, + "icon": "img/dogecoin-min.png", + "dailyLimit": "${daily_price_3} / 10 + 1" + }, + { + "id": "curr_dgc_to_mg", + "type": "currency", + "nameKey": "shop_curr_dgc_to_mg_name", + "descKey": "shop_curr_dgc_to_mg_desc", + "cost": 0, + "costCoins": 1, + "costMinigames": 0, + "minigameCoinsGiven": 10, + "icon": "img/icons/play-svgrepo-com.svg" + }, + { + "id": "curr_mg_to_dgc", + "type": "currency", + "nameKey": "shop_curr_mg_to_dgc_name", + "descKey": "shop_curr_mg_to_dgc_desc", + "cost": 0, + "costCoins": 0, + "costMinigames": 10, + "coinsGiven": 1, + "icon": "img/dogecoin-min.png" + }, + { + "_comment": "--- Boosters ---" + }, + { + "id": "boost_2x_free", + "type": "booster", + "nameKey": "shop_boost_2x_5m_name", + "descKey": "shop_boost_2x_5m_desc", + "cost": 0, + "costCoins": 0, + "multiplier": 2, + "durationMin": 5, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": "${daily_price} / 100 + 1" + }, + { + "id": "boost_3x_free", + "type": "booster", + "nameKey": "shop_boost_3x_5m_name", + "descKey": "shop_boost_3x_5m_desc", + "cost": 0, + "costCoins": 0, + "multiplier": 3, + "durationMin": 5, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": "${daily_price_2} / 100 + 1" + }, + { + "id": "boost_10x_free", + "type": "booster", + "nameKey": "shop_boost_10x_3m_name", + "descKey": "shop_boost_10x_3m_desc", + "cost": 0, + "costCoins": 0, + "multiplier": 10, + "durationMin": 3, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": "${daily_price_3} / 100 + 1" + }, + { + "id": "boost_2x_5m", + "type": "booster", + "nameKey": "shop_boost_2x_5m_name", + "descKey": "shop_boost_2x_5m_desc", + "cost": 1000, + "costCoins": 0, + "multiplier": 2, + "durationMin": 5, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "id": "boost_2x_10m", + "type": "booster", + "nameKey": "shop_boost_2x_10m_name", + "descKey": "shop_boost_2x_10m_desc", + "cost": 1800, + "costCoins": 0, + "multiplier": 2, + "durationMin": 10, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "id": "boost_2x_20m", + "type": "booster", + "nameKey": "shop_boost_2x_20m_name", + "descKey": "shop_boost_2x_20m_desc", + "cost": 3000, + "costCoins": 0, + "multiplier": 2, + "durationMin": 20, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "id": "boost_3x_5m", + "type": "booster", + "nameKey": "shop_boost_3x_5m_name", + "descKey": "shop_boost_3x_5m_desc", + "cost": 0, + "costCoins": 150, + "multiplier": 3, + "durationMin": 5, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "id": "boost_3x_10m", + "type": "booster", + "nameKey": "shop_boost_3x_10m_name", + "descKey": "shop_boost_3x_10m_desc", + "cost": 0, + "costCoins": 250, + "multiplier": 3, + "durationMin": 10, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "id": "boost_3x_20m", + "type": "booster", + "nameKey": "shop_boost_3x_20m_name", + "descKey": "shop_boost_3x_20m_desc", + "cost": 0, + "costCoins": 450, + "multiplier": 3, + "durationMin": 20, + "icon": "img/icons/trophy-svgrepo-com.svg", + "dailyLimit": 0 + }, + { + "_comment": "--- Characters ---" + }, + { + "id": "cheems_little", + "type": "cheems", + "nameKey": "cheems_little", + "cost": 0, + "costCoins": 500, + "costMinigames": 0, + "icon": "img/cheems/little.png", + "oneTimePurchase": true + }, + { + "id": "cheems_adult", + "type": "cheems", + "nameKey": "cheems_adult", + "cost": 0, + "costCoins": 800, + "costMinigames": 0, + "icon": "img/cheems/adult.png", + "oneTimePurchase": true + }, + { + "id": "cheems_kid", + "type": "cheems", + "nameKey": "cheems_kid", + "cost": 0, + "costCoins": 1000, + "costMinigames": 0, + "icon": "img/cheems/kid.png", + "oneTimePurchase": true + }, + { + "id": "cheems_mamado", + "type": "cheems", + "nameKey": "cheems_mamado", + "cost": 0, + "costCoins": 2000, + "costMinigames": 0, + "icon": "img/cheems/mamado.png", + "oneTimePurchase": true + }, + { + "id": "cheems_pixelart", + "type": "cheems", + "nameKey": "cheems_pixelart", + "cost": 0, + "costCoins": 3000, + "costMinigames": 0, + "icon": "img/cheems/pixelart.png", + "oneTimePurchase": true + }, + { + "id": "cheems_elegant", + "type": "cheems", + "nameKey": "cheems_elegant", + "cost": 0, + "costCoins": 3500, + "costMinigames": 0, + "icon": "img/cheems/elegant.png", + "oneTimePurchase": true + }, + { + "id": "cheems_3d", + "type": "cheems", + "nameKey": "cheems_3d", + "cost": 0, + "costCoins": 2500, + "costMinigames": 0, + "icon": "img/cheems/3d.png", + "oneTimePurchase": true + }, + { + "id": "cheems_black", + "type": "cheems", + "nameKey": "cheems_black", + "cost": 0, + "costCoins": 2800, + "costMinigames": 0, + "icon": "img/cheems/black.png", + "oneTimePurchase": true + }, + { + "id": "cheems_not_ai", + "type": "cheems", + "nameKey": "cheems_not_ai", + "cost": 0, + "costCoins": 2600, + "costMinigames": 0, + "icon": "img/cheems/not_ai.png", + "oneTimePurchase": true + }, + { + "id": "cheems_realistic", + "type": "cheems", + "nameKey": "cheems_realistic", + "cost": 0, + "costCoins": 5000, + "costMinigames": 0, + "icon": "img/cheems/realistic.png", + "oneTimePurchase": true + }, + { + "id": "cheems_not_a_dog", + "type": "cheems", + "nameKey": "cheems_not_a_dog", + "cost": 0, + "costCoins": 3200, + "costMinigames": 0, + "icon": "img/cheems/not_a_dog.png", + "oneTimePurchase": true + }, + { + "id": "cheems_not_a_plumber", + "type": "cheems", + "nameKey": "cheems_not_a_plumber", + "cost": 0, + "costCoins": 4500, + "costMinigames": 3000, + "icon": "img/cheems/not_a_plumber.png", + "oneTimePurchase": true + }, + { + "id": "cheems_minecraft", + "type": "cheems", + "nameKey": "cheems_minecraft", + "cost": 0, + "costCoins": 3500, + "costMinigames": 2500, + "icon": "img/cheems/cubes.png", + "oneTimePurchase": true + }, + { + "_comment": "--- Sounds ---" + }, + { + "id": "sfx_2", + "type": "sound", + "nameKey": "sfx_2", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2000, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_3", + "type": "sound", + "nameKey": "sfx_3", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2000, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_4", + "type": "sound", + "nameKey": "sfx_4", + "cost": 0, + "costCoins": 1500, + "costMinigames": 2500, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_5", + "type": "sound", + "nameKey": "sfx_5", + "cost": 0, + "costCoins": 1500, + "costMinigames": 2500, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_6", + "type": "sound", + "nameKey": "sfx_6", + "cost": 0, + "costCoins": 800, + "costMinigames": 1500, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_7", + "type": "sound", + "nameKey": "sfx_7", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2000, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_8", + "type": "sound", + "nameKey": "sfx_8", + "cost": 0, + "costCoins": 400, + "costMinigames": 0, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_9", + "type": "sound", + "nameKey": "sfx_9", + "cost": 0, + "costCoins": 500, + "costMinigames": 0, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_10", + "type": "sound", + "nameKey": "sfx_10", + "cost": 0, + "costCoins": 500, + "costMinigames": 0, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_11", + "type": "sound", + "nameKey": "sfx_11", + "cost": 0, + "costCoins": 500, + "costMinigames": 0, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "sfx_12", + "type": "sound", + "nameKey": "sfx_12", + "cost": 0, + "costCoins": 1000, + "costMinigames": 0, + "icon": "img/icons/sound-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "_comment": "--- Music ---" + }, + { + "id": "music_2", + "type": "music", + "nameKey": "music_2", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_3", + "type": "music", + "nameKey": "music_3", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_4", + "type": "music", + "nameKey": "music_4", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_5", + "type": "music", + "nameKey": "music_5", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_6", + "type": "music", + "nameKey": "music_6", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_7", + "type": "music", + "nameKey": "music_7", + "cost": 0, + "costCoins": 1500, + "costMinigames": 3000, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_8", + "type": "music", + "nameKey": "music_8", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_9", + "type": "music", + "nameKey": "music_9", + "cost": 0, + "costCoins": 900, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_10", + "type": "music", + "nameKey": "music_10", + "cost": 0, + "costCoins": 900, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_11", + "type": "music", + "nameKey": "music_11", + "cost": 0, + "costCoins": 900, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_12", + "type": "music", + "nameKey": "music_12", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_13", + "type": "music", + "nameKey": "music_13", + "cost": 0, + "costCoins": 600, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_14", + "type": "music", + "nameKey": "music_14", + "cost": 0, + "costCoins": 900, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_15", + "type": "music", + "nameKey": "music_15", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_16", + "type": "music", + "nameKey": "music_16", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_17", + "type": "music", + "nameKey": "music_17", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_18", + "type": "music", + "nameKey": "music_18", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_19", + "type": "music", + "nameKey": "music_19", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_20", + "type": "music", + "nameKey": "music_20", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_21", + "type": "music", + "nameKey": "music_21", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_22", + "type": "music", + "nameKey": "music_22", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_23", + "type": "music", + "nameKey": "music_23", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_24", + "type": "music", + "nameKey": "music_24", + "cost": 0, + "costCoins": 1200, + "costMinigames": 2500, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_25", + "type": "music", + "nameKey": "music_25", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_26", + "type": "music", + "nameKey": "music_26", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_27", + "type": "music", + "nameKey": "music_27", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_28", + "type": "music", + "nameKey": "music_28", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "music_29", + "type": "music", + "nameKey": "music_29", + "cost": 0, + "costCoins": 1200, + "costMinigames": 0, + "icon": "img/icons/music-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "_comment": "--- Minigames ---" + }, + { + "id": "minigame_block_breaker", + "type": "minigame", + "targetId": "block_breaker", + "nameKey": "shop_minigame_block_breaker_name", + "descKey": "shop_minigame_block_breaker_desc", + "cost": 0, + "costCoins": 1500, + "costMinigames": 3500, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_attack_hole", + "type": "minigame", + "targetId": "attack_hole", + "nameKey": "shop_minigame_attack_hole_name", + "descKey": "shop_minigame_attack_hole_desc", + "cost": 0, + "costCoins": 2500, + "costMinigames": 2000, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_doge_rescue", + "type": "minigame", + "targetId": "doge_rescue", + "nameKey": "shop_minigame_doge_rescue_name", + "descKey": "shop_minigame_doge_rescue_desc", + "cost": 0, + "costCoins": 500, + "costMinigames": 4000, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_flappy_dunk", + "type": "minigame", + "targetId": "flappy_dunk", + "nameKey": "shop_minigame_flappy_dunk_name", + "descKey": "shop_minigame_flappy_dunk_desc", + "cost": 0, + "costCoins": 2000, + "costMinigames": 3000, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_helix_jump", + "type": "minigame", + "targetId": "helix_jump", + "nameKey": "shop_minigame_helix_jump_name", + "descKey": "shop_minigame_helix_jump_desc", + "cost": 0, + "costCoins": 1000, + "costMinigames": 4500, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_magic_sort", + "type": "minigame", + "targetId": "magic_sort", + "nameKey": "shop_minigame_magic_sort_name", + "descKey": "shop_minigame_magic_sort_desc", + "cost": 0, + "costCoins": 1000, + "costMinigames": 5000, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_mob_control", + "type": "minigame", + "targetId": "mob_control", + "nameKey": "shop_minigame_mob_control_name", + "descKey": "shop_minigame_mob_control_desc", + "cost": 0, + "costCoins": 1500, + "costMinigames": 3500, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_paper_io", + "type": "minigame", + "targetId": "paper_io", + "nameKey": "shop_minigame_paper_io_name", + "descKey": "shop_minigame_paper_io_desc", + "cost": 0, + "costCoins": 3000, + "costMinigames": 5000, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_spiral_roll", + "type": "minigame", + "targetId": "spiral_roll", + "nameKey": "shop_minigame_spiral_roll_name", + "descKey": "shop_minigame_spiral_roll_desc", + "cost": 0, + "costCoins": 1000, + "costMinigames": 4500, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + }, + { + "id": "minigame_stack_colors", + "type": "minigame", + "targetId": "stack_colors", + "nameKey": "shop_minigame_stack_colors_name", + "descKey": "shop_minigame_stack_colors_desc", + "cost": 0, + "costCoins": 500, + "costMinigames": 2500, + "icon": "img/icons/play-svgrepo-com.svg", + "oneTimePurchase": true + } +] \ No newline at end of file diff --git a/public/data/sound_effects.json b/public/data/sound_effects.json new file mode 100644 index 0000000..3744054 --- /dev/null +++ b/public/data/sound_effects.json @@ -0,0 +1,94 @@ +[ + { + "id": "sfx_1", + "nameKey": "sfx_1", + "file": "sfx/hit.ogg", + "default": true, + "storageKey": "s1", + "description": "sfx_1_desc" + }, + { + "id": "sfx_2", + "nameKey": "sfx_2", + "file": "sfx/hurt-minecraft.ogg", + "storageKey": "s2", + "description": "sfx_2_desc" + }, + { + "id": "sfx_3", + "nameKey": "sfx_3", + "file": "sfx/hurt-roblox.ogg", + "storageKey": "s3", + "description": "sfx_3_desc" + }, + { + "id": "sfx_4", + "nameKey": "sfx_4", + "files": [ + "sfx/levelup1.ogg", + "sfx/levelup2.ogg" + ], + "storageKey": "s4", + "description": "sfx_4_desc" + }, + { + "id": "sfx_5", + "nameKey": "sfx_5", + "files": [ + "sfx/discord-connect.ogg", + "sfx/discord-disconnect.ogg", + "sfx/discord-msg.ogg" + ], + "storageKey": "s5", + "description": "sfx_5_desc" + }, + { + "id": "sfx_6", + "nameKey": "sfx_6", + "file": "sfx/hello.ogg", + "storageKey": "s6", + "description": "sfx_6_desc" + }, + { + "id": "sfx_7", + "nameKey": "sfx_7", + "file": "sfx/hit-minecraft.ogg", + "storageKey": "s7", + "description": "sfx_7_desc" + }, + { + "id": "sfx_8", + "nameKey": "sfx_8", + "file": "sfx/no.ogg", + "storageKey": "s8", + "description": "sfx_8_desc" + }, + { + "id": "sfx_9", + "nameKey": "sfx_9", + "file": "sfx/pato.ogg", + "storageKey": "s9", + "description": "sfx_9_desc" + }, + { + "id": "sfx_10", + "nameKey": "sfx_10", + "file": "sfx/peluche.ogg", + "storageKey": "s10", + "description": "sfx_10_desc" + }, + { + "id": "sfx_11", + "nameKey": "sfx_11", + "file": "sfx/splat.ogg", + "storageKey": "s11", + "description": "sfx_11_desc" + }, + { + "id": "sfx_12", + "nameKey": "sfx_12", + "file": "sfx/windows-error.ogg", + "storageKey": "s12", + "description": "sfx_12_desc" + } +] \ No newline at end of file diff --git a/public/games/attack_hole/assets/big_grenade_bomb.png b/public/games/attack_hole/assets/big_grenade_bomb.png new file mode 100644 index 0000000..108e6f9 Binary files /dev/null and b/public/games/attack_hole/assets/big_grenade_bomb.png differ diff --git a/public/games/attack_hole/assets/fire_grenade_bomb.png b/public/games/attack_hole/assets/fire_grenade_bomb.png new file mode 100644 index 0000000..fc1c00f Binary files /dev/null and b/public/games/attack_hole/assets/fire_grenade_bomb.png differ diff --git a/public/games/attack_hole/assets/flash_grenade_bomb.png b/public/games/attack_hole/assets/flash_grenade_bomb.png new file mode 100644 index 0000000..39cedfb Binary files /dev/null and b/public/games/attack_hole/assets/flash_grenade_bomb.png differ diff --git a/public/games/attack_hole/assets/grenade_bomb.png b/public/games/attack_hole/assets/grenade_bomb.png new file mode 100644 index 0000000..a3559d8 Binary files /dev/null and b/public/games/attack_hole/assets/grenade_bomb.png differ diff --git a/public/games/attack_hole/assets/gun_bullet.png b/public/games/attack_hole/assets/gun_bullet.png new file mode 100644 index 0000000..eb2d3c3 Binary files /dev/null and b/public/games/attack_hole/assets/gun_bullet.png differ diff --git a/public/games/attack_hole/assets/magnum_bullet.png b/public/games/attack_hole/assets/magnum_bullet.png new file mode 100644 index 0000000..8663fe8 Binary files /dev/null and b/public/games/attack_hole/assets/magnum_bullet.png differ diff --git a/public/games/attack_hole/assets/rocket_bullet.png b/public/games/attack_hole/assets/rocket_bullet.png new file mode 100644 index 0000000..232c7de Binary files /dev/null and b/public/games/attack_hole/assets/rocket_bullet.png differ diff --git a/public/games/attack_hole/assets/shotgun_bullet.png b/public/games/attack_hole/assets/shotgun_bullet.png new file mode 100644 index 0000000..1017d2e Binary files /dev/null and b/public/games/attack_hole/assets/shotgun_bullet.png differ diff --git a/public/games/attack_hole/assets/sniper_bullet.png b/public/games/attack_hole/assets/sniper_bullet.png new file mode 100644 index 0000000..2fbf131 Binary files /dev/null and b/public/games/attack_hole/assets/sniper_bullet.png differ diff --git a/public/games/attack_hole/assets/tmp_bullet.png b/public/games/attack_hole/assets/tmp_bullet.png new file mode 100644 index 0000000..5901c19 Binary files /dev/null and b/public/games/attack_hole/assets/tmp_bullet.png differ diff --git a/public/games/attack_hole/data/items.json b/public/games/attack_hole/data/items.json new file mode 100644 index 0000000..de3fc8f --- /dev/null +++ b/public/games/attack_hole/data/items.json @@ -0,0 +1,82 @@ +[ + { + "id": "gun", + "emojiCounter": "🔫", + "model": "games/attack_hole/data/models/gun.geo.json", + "texture": "games/attack_hole/assets/gun_bullet.png", + "points": 10, + "category": "ammo" + }, + { + "id": "magnum", + "emojiCounter": "🤠", + "model": "games/attack_hole/data/models/magnum.geo.json", + "texture": "games/attack_hole/assets/magnum_bullet.png", + "points": 50, + "category": "ammo" + }, + { + "id": "tmp", + "emojiCounter": "🪖", + "model": "games/attack_hole/data/models/tmp.geo.json", + "texture": "games/attack_hole/assets/tmp_bullet.png", + "points": 5, + "category": "ammo" + }, + { + "id": "shotgun", + "emojiCounter": "🪤", + "model": "games/attack_hole/data/models/shotgun.geo.json", + "texture": "games/attack_hole/assets/shotgun_bullet.png", + "points": 25, + "category": "ammo" + }, + { + "id": "sniper", + "emojiCounter": "🎯", + "model": "games/attack_hole/data/models/sniper.geo.json", + "texture": "games/attack_hole/assets/sniper_bullet.png", + "points": 35, + "category": "ammo" + }, + { + "id": "rocket", + "emojiCounter": "🚀", + "model": "games/attack_hole/data/models/rocket.geo.json", + "texture": "games/attack_hole/assets/rocket_bullet.png", + "points": 100, + "category": "ammo" + }, + { + "id": "grenade", + "emojiCounter": "💣", + "model": "games/attack_hole/data/models/grenade.geo.json", + "texture": "games/attack_hole/assets/grenade_bomb.png", + "points": 60, + "category": "bomb" + }, + { + "id": "flash_grenade", + "emojiCounter": "⚡", + "model": "games/attack_hole/data/models/flash_grenade.geo.json", + "texture": "games/attack_hole/assets/flash_grenade_bomb.png", + "points": 50, + "category": "bomb" + }, + { + "id": "fire_grenade", + "emojiCounter": "🔥", + "model": "games/attack_hole/data/models/fire_grenade.geo.json", + "texture": "games/attack_hole/assets/fire_grenade_bomb.png", + "points": 70, + "category": "bomb" + }, + { + "id": "big_grenade", + "emojiCounter": "💥", + "model": "games/attack_hole/data/models/big_grenade.geo.json", + "texture": "games/attack_hole/assets/big_grenade_bomb.png", + "points": 150, + "category": "bomb" + } +] diff --git a/public/games/attack_hole/data/levels.json b/public/games/attack_hole/data/levels.json new file mode 100644 index 0000000..986bc46 --- /dev/null +++ b/public/games/attack_hole/data/levels.json @@ -0,0 +1,380 @@ +[ + { + "id": "level_1", + "time": 40, + "HoleSizeIncreasePercentage": 100, + "floorSize": 100, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(224, 224, 224, 1)", + "floorSecondaryColor": "rgba(180, 180, 180, 1)", + "floorPattern": "squares", + "wallPrimaryColor": "rgba(255, 255, 255, 1)", + "wallSecondaryColor": "rgba(200, 200, 200, 1)", + "wallPattern": "none", + "wallLife": 1000, + "ammo": { + "gun": [60, 80], + "tmp": [100, 120] + } + }, + { + "id": "level_2", + "time": 45, + "HoleSizeIncreasePercentage": 120, + "floorSize": 120, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(50, 150, 50, 1)", + "floorSecondaryColor": "rgba(30, 100, 30, 1)", + "floorPattern": "triangles", + "wallPrimaryColor": "rgba(100, 50, 50, 1)", + "wallSecondaryColor": "rgba(50, 20, 20, 1)", + "wallPattern": "squares", + "wallLife": 1500, + "ammo": { + "gun": [50, 70], + "shotgun": [50, 70] + } + }, + { + "id": "level_3", + "time": 50, + "HoleSizeIncreasePercentage": 140, + "floorSize": 140, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(10, 20, 40, 1)", + "floorSecondaryColor": "rgba(5, 10, 20, 1)", + "floorPattern": "pentagons", + "wallPrimaryColor": "rgba(40, 40, 40, 1)", + "wallSecondaryColor": "rgba(20, 20, 20, 1)", + "wallPattern": "hexagons", + "wallLife": 2500, + "ammo": { + "tmp": [100, 150], + "shotgun": [40, 60], + "magnum": [25, 40] + } + }, + { + "id": "level_4", + "time": 55, + "HoleSizeIncreasePercentage": 160, + "floorSize": 160, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(80, 0, 0, 1)", + "floorSecondaryColor": "rgba(40, 0, 0, 1)", + "floorPattern": "none", + "wallPrimaryColor": "rgba(120, 20, 20, 1)", + "wallSecondaryColor": "rgba(60, 10, 10, 1)", + "wallPattern": "stars", + "wallLife": 3500, + "ammo": { + "gun": [100, 150], + "sniper": [40, 60], + "magnum": [30, 50] + } + }, + { + "id": "level_5", + "time": 60, + "HoleSizeIncreasePercentage": 180, + "floorSize": 180, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(150, 150, 50, 1)", + "floorSecondaryColor": "rgba(100, 100, 30, 1)", + "floorPattern": "hexagons", + "wallPrimaryColor": "rgba(80, 80, 80, 1)", + "wallSecondaryColor": "rgba(40, 40, 40, 1)", + "wallPattern": "none", + "wallLife": 5000, + "ammo": { + "shotgun": [50, 80], + "sniper": [50, 70], + "flash_grenade": [45, 60] + } + }, + { + "id": "level_6", + "time": 65, + "HoleSizeIncreasePercentage": 200, + "floorSize": 200, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(30, 30, 30, 1)", + "floorSecondaryColor": "rgba(15, 15, 15, 1)", + "floorPattern": "squares", + "wallPrimaryColor": "rgba(200, 200, 200, 1)", + "wallSecondaryColor": "rgba(150, 150, 150, 1)", + "wallPattern": "triangles", + "wallLife": 6500, + "ammo": { + "magnum": [50, 70], + "grenade": [40, 60], + "shotgun": [70, 90] + } + }, + { + "id": "level_7", + "time": 70, + "HoleSizeIncreasePercentage": 220, + "floorSize": 250, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(0, 100, 150, 1)", + "floorSecondaryColor": "rgba(0, 50, 80, 1)", + "floorPattern": "stars", + "wallPrimaryColor": "rgba(0, 150, 200, 1)", + "wallSecondaryColor": "rgba(0, 80, 120, 1)", + "wallPattern": "pentagons", + "wallLife": 8000, + "ammo": { + "sniper": [60, 80], + "fire_grenade": [50, 70], + "grenade": [50, 70] + } + }, + { + "id": "level_8", + "time": 75, + "HoleSizeIncreasePercentage": 250, + "floorSize": 300, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(60, 20, 80, 1)", + "floorSecondaryColor": "rgba(30, 10, 40, 1)", + "floorPattern": "none", + "wallPrimaryColor": "rgba(100, 40, 120, 1)", + "wallSecondaryColor": "rgba(50, 20, 60, 1)", + "wallPattern": "squares", + "wallLife": 10000, + "ammo": { + "rocket": [30, 40], + "big_grenade": [30, 40], + "magnum": [60, 80] + } + }, + { + "id": "level_9", + "time": 80, + "HoleSizeIncreasePercentage": 280, + "floorSize": 350, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(200, 100, 0, 1)", + "floorSecondaryColor": "rgba(120, 60, 0, 1)", + "floorPattern": "pentagons", + "wallPrimaryColor": "rgba(255, 150, 0, 1)", + "wallSecondaryColor": "rgba(180, 90, 0, 1)", + "wallPattern": "none", + "wallLife": 12000, + "ammo": { + "big_grenade": [40, 60], + "fire_grenade": [60, 80], + "sniper": [60, 80] + } + }, + { + "id": "level_10", + "time": 85, + "HoleSizeIncreasePercentage": 310, + "floorSize": 400, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(0, 0, 0, 1)", + "floorSecondaryColor": "rgba(20, 0, 0, 1)", + "floorPattern": "hexagons", + "wallPrimaryColor": "rgba(50, 0, 0, 1)", + "wallSecondaryColor": "rgba(25, 0, 0, 1)", + "wallPattern": "triangles", + "wallLife": 15000, + "ammo": { + "rocket": [50, 70], + "big_grenade": [50, 70], + "magnum": [60, 80] + } + }, + { + "id": "level_11", + "time": 90, + "HoleSizeIncreasePercentage": 340, + "floorSize": 450, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(40, 120, 40, 1)", + "floorSecondaryColor": "rgba(20, 60, 20, 1)", + "floorPattern": "squares", + "wallPrimaryColor": "rgba(60, 180, 60, 1)", + "wallSecondaryColor": "rgba(30, 90, 30, 1)", + "wallPattern": "stars", + "wallLife": 18000, + "ammo": { + "rocket": [60, 80], + "big_grenade": [60, 80], + "fire_grenade": [50, 70] + } + }, + { + "id": "level_12", + "time": 95, + "HoleSizeIncreasePercentage": 370, + "floorSize": 500, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(100, 100, 200, 1)", + "floorSecondaryColor": "rgba(50, 50, 100, 1)", + "floorPattern": "none", + "wallPrimaryColor": "rgba(150, 150, 255, 1)", + "wallSecondaryColor": "rgba(75, 75, 125, 1)", + "wallPattern": "pentagons", + "wallLife": 22000, + "ammo": { + "rocket": [80, 100], + "big_grenade": [80, 100], + "sniper": [70, 90] + } + }, + { + "id": "level_13", + "time": 100, + "HoleSizeIncreasePercentage": 400, + "floorSize": 550, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(180, 180, 180, 1)", + "floorSecondaryColor": "rgba(90, 90, 90, 1)", + "floorPattern": "squares", + "wallPrimaryColor": "rgba(220, 220, 220, 1)", + "wallSecondaryColor": "rgba(110, 110, 110, 1)", + "wallPattern": "none", + "wallLife": 26000, + "ammo": { + "rocket": [100, 120], + "big_grenade": [90, 110], + "fire_grenade": [50, 70] + } + }, + { + "id": "level_14", + "time": 105, + "HoleSizeIncreasePercentage": 450, + "floorSize": 600, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(120, 0, 120, 1)", + "floorSecondaryColor": "rgba(60, 0, 60, 1)", + "floorPattern": "hexagons", + "wallPrimaryColor": "rgba(180, 0, 180, 1)", + "wallSecondaryColor": "rgba(90, 0, 90, 1)", + "wallPattern": "squares", + "wallLife": 30000, + "ammo": { + "big_grenade": [110, 130], + "rocket": [110, 130], + "magnum": [60, 80] + } + }, + { + "id": "level_15", + "time": 110, + "HoleSizeIncreasePercentage": 500, + "floorSize": 650, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(255, 200, 0, 1)", + "floorSecondaryColor": "rgba(150, 120, 0, 1)", + "floorPattern": "stars", + "wallPrimaryColor": "rgba(255, 255, 0, 1)", + "wallSecondaryColor": "rgba(180, 180, 0, 1)", + "wallPattern": "triangles", + "wallLife": 35000, + "ammo": { + "big_grenade": [130, 150], + "rocket": [120, 140], + "fire_grenade": [60, 80] + } + }, + { + "id": "level_16", + "time": 115, + "HoleSizeIncreasePercentage": 550, + "floorSize": 700, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(0, 150, 100, 1)", + "floorSecondaryColor": "rgba(0, 80, 50, 1)", + "floorPattern": "pentagons", + "wallPrimaryColor": "rgba(0, 200, 150, 1)", + "wallSecondaryColor": "rgba(0, 100, 75, 1)", + "wallPattern": "hexagons", + "wallLife": 40000, + "ammo": { + "big_grenade": [150, 170], + "rocket": [140, 160], + "grenade": [70, 90] + } + }, + { + "id": "level_17", + "time": 120, + "HoleSizeIncreasePercentage": 600, + "floorSize": 800, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(80, 80, 120, 1)", + "floorSecondaryColor": "rgba(40, 40, 60, 1)", + "floorPattern": "none", + "wallPrimaryColor": "rgba(100, 100, 150, 1)", + "wallSecondaryColor": "rgba(50, 50, 75, 1)", + "wallPattern": "stars", + "wallLife": 45000, + "ammo": { + "big_grenade": [170, 190], + "rocket": [160, 180], + "fire_grenade": [60, 80] + } + }, + { + "id": "level_18", + "time": 130, + "HoleSizeIncreasePercentage": 700, + "floorSize": 900, + "ammoGrouping": "random", + "floorPrimaryColor": "rgba(180, 50, 50, 1)", + "floorSecondaryColor": "rgba(90, 25, 25, 1)", + "floorPattern": "triangles", + "wallPrimaryColor": "rgba(220, 80, 80, 1)", + "wallSecondaryColor": "rgba(110, 40, 40, 1)", + "wallPattern": "none", + "wallLife": 50000, + "ammo": { + "big_grenade": [200, 220], + "rocket": [170, 190], + "flash_grenade": [80, 100] + } + }, + { + "id": "level_19", + "time": 140, + "HoleSizeIncreasePercentage": 800, + "floorSize": 1000, + "ammoGrouping": "grouped", + "floorPrimaryColor": "rgba(40, 40, 40, 1)", + "floorSecondaryColor": "rgba(20, 20, 20, 1)", + "floorPattern": "hexagons", + "wallPrimaryColor": "rgba(255, 255, 255, 1)", + "wallSecondaryColor": "rgba(150, 150, 150, 1)", + "wallPattern": "squares", + "wallLife": 55000, + "ammo": { + "big_grenade": [220, 240], + "rocket": [180, 200], + "fire_grenade": [70, 90] + } + }, + { + "id": "level_20", + "time": 150, + "HoleSizeIncreasePercentage": 1000, + "floorSize": 1200, + "ammoGrouping": "near", + "floorPrimaryColor": "rgba(255, 0, 0, 1)", + "floorSecondaryColor": "rgba(100, 0, 0, 1)", + "floorPattern": "stars", + "wallPrimaryColor": "rgba(0, 0, 0, 1)", + "wallSecondaryColor": "rgba(30, 30, 30, 1)", + "wallPattern": "none", + "wallLife": 60000, + "ammo": { + "big_grenade": [250, 280], + "rocket": [200, 220], + "fire_grenade": [50, 70] + } + } +] \ No newline at end of file diff --git a/public/games/attack_hole/data/models/big_grenade.geo.json b/public/games/attack_hole/data/models/big_grenade.geo.json new file mode 100644 index 0000000..8538745 --- /dev/null +++ b/public/games/attack_hole/data/models/big_grenade.geo.json @@ -0,0 +1,59 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.big_grenade", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-3, 0, -3], + "size": [6, 7, 6], + "uv": { + "north": {"uv": [0, 7], "uv_size": [6, 7]}, + "east": {"uv": [6, 0], "uv_size": [6, 7]}, + "south": {"uv": [6, 7], "uv_size": [6, 7]}, + "west": {"uv": [0, 0], "uv_size": [6, 7]}, + "up": {"uv": [12, 0], "uv_size": [6, 6]}, + "down": {"uv": [12, 12], "uv_size": [6, -6]} + } + }, + { + "origin": [-1.5, 7, -1.5], + "size": [3, 2, 3], + "uv": { + "north": {"uv": [3, 17], "uv_size": [3, 2]}, + "east": {"uv": [6, 16], "uv_size": [3, 2]}, + "south": {"uv": [6, 14], "uv_size": [3, 2]}, + "west": {"uv": [0, 17], "uv_size": [3, 2]}, + "up": {"uv": [0, 14], "uv_size": [3, 3]}, + "down": {"uv": [3, 17], "uv_size": [3, -3]} + } + }, + { + "origin": [-1.5, 8, -2.5], + "size": [1, 4, 2], + "uv": { + "north": {"uv": [12, 12], "uv_size": [1, 4]}, + "east": {"uv": [13, 12], "uv_size": [2, 4]}, + "south": {"uv": [9, 14], "uv_size": [1, 4]}, + "west": {"uv": [10, 17], "uv_size": [2, 4]}, + "up": {"uv": [16, 12], "uv_size": [1, 2]}, + "down": {"uv": [17, 14], "uv_size": [1, -2]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/fire_grenade.geo.json b/public/games/attack_hole/data/models/fire_grenade.geo.json new file mode 100644 index 0000000..a3fc1ba --- /dev/null +++ b/public/games/attack_hole/data/models/fire_grenade.geo.json @@ -0,0 +1,59 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.fire_grenade", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-2, 0, -2], + "size": [4, 2, 4], + "uv": { + "north": {"uv": [28, 6], "uv_size": [4, 2]}, + "east": {"uv": [24, 4], "uv_size": [4, 2]}, + "south": {"uv": [28, 4], "uv_size": [4, 2]}, + "west": {"uv": [24, 6], "uv_size": [4, 2]}, + "up": {"uv": [28, 0], "uv_size": [4, 4]}, + "down": {"uv": [24, 4], "uv_size": [4, -4]} + } + }, + { + "origin": [-2.5, 2, -2.5], + "size": [5, 5, 5], + "uv": { + "north": {"uv": [6, 6], "uv_size": [6, 6]}, + "east": {"uv": [0, 6], "uv_size": [6, 6]}, + "south": {"uv": [12, 0], "uv_size": [6, 6]}, + "west": {"uv": [12, 6], "uv_size": [6, 6]}, + "up": {"uv": [0, 0], "uv_size": [5.8, 5.8]}, + "down": {"uv": [6, 6], "uv_size": [6, -6]} + } + }, + { + "origin": [-1, 7, -1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [2, 17], "uv_size": [2, 2]}, + "east": {"uv": [4, 17], "uv_size": [2, 2]}, + "south": {"uv": [6, 17], "uv_size": [2, 2]}, + "west": {"uv": [0, 17], "uv_size": [2, 2]}, + "up": {"uv": [2, 15], "uv_size": [2, 2]}, + "down": {"uv": [0, 17], "uv_size": [2, -2]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/flash_grenade.geo.json b/public/games/attack_hole/data/models/flash_grenade.geo.json new file mode 100644 index 0000000..dac814d --- /dev/null +++ b/public/games/attack_hole/data/models/flash_grenade.geo.json @@ -0,0 +1,59 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.flash_grenade", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-2, 0, -2], + "size": [4, 8, 4], + "uv": { + "north": {"uv": [4, 0], "uv_size": [4, 10]}, + "east": {"uv": [8, 0], "uv_size": [4, 10]}, + "south": {"uv": [12, 0], "uv_size": [4, 10]}, + "west": {"uv": [0, 0], "uv_size": [4, 10]}, + "up": {"uv": [20, 0], "uv_size": [4, 4]}, + "down": {"uv": [16, 4], "uv_size": [4, -4]} + } + }, + { + "origin": [-1, 8, -1], + "size": [2, 1, 2], + "uv": { + "north": {"uv": [2, 12], "uv_size": [2, 1]}, + "east": {"uv": [4, 12], "uv_size": [2, 1]}, + "south": {"uv": [6, 13], "uv_size": [2, -1]}, + "west": {"uv": [0, 12], "uv_size": [2, 1]}, + "up": {"uv": [2, 10], "uv_size": [2, 2]}, + "down": {"uv": [0, 12], "uv_size": [2, -2]} + } + }, + { + "origin": [-1, 9, -2.5], + "size": [1, 3, 1], + "uv": { + "north": {"uv": [1, 16], "uv_size": [1, 3]}, + "east": {"uv": [2, 16], "uv_size": [1, 3]}, + "south": {"uv": [3, 16], "uv_size": [1, 3]}, + "west": {"uv": [0, 16], "uv_size": [1, 3]}, + "up": {"uv": [1, 15], "uv_size": [1, 1]}, + "down": {"uv": [2, 16], "uv_size": [1, -1]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/grenade.geo.json b/public/games/attack_hole/data/models/grenade.geo.json new file mode 100644 index 0000000..698fcdf --- /dev/null +++ b/public/games/attack_hole/data/models/grenade.geo.json @@ -0,0 +1,59 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.grenade", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-2, 0, -2], + "size": [4, 5, 4], + "uv": { + "north": {"uv": [4, 0], "uv_size": [4, 6]}, + "east": {"uv": [8, 0], "uv_size": [4, 6]}, + "south": {"uv": [12, 0], "uv_size": [4, 6]}, + "west": {"uv": [0, 0], "uv_size": [4, 6]}, + "up": {"uv": [4, 6], "uv_size": [4, 4]}, + "down": {"uv": [0, 10], "uv_size": [4, -4]} + } + }, + { + "origin": [-1, 5, -1], + "size": [2, 1, 2], + "uv": { + "north": {"uv": [4, 20], "uv_size": [2, 1]}, + "east": {"uv": [0, 20], "uv_size": [2, 1]}, + "south": {"uv": [6, 20], "uv_size": [2, 1]}, + "west": {"uv": [2, 20], "uv_size": [2, 1]}, + "up": {"uv": [0, 21], "uv_size": [2, 2]}, + "down": {"uv": [2, 23], "uv_size": [2, -2]} + } + }, + { + "origin": [-1, 5, -2], + "size": [1, 3, 1], + "uv": { + "north": {"uv": [11, 20], "uv_size": [1, 3]}, + "east": {"uv": [10, 20], "uv_size": [1, 3]}, + "south": {"uv": [9, 20], "uv_size": [1, 3]}, + "west": {"uv": [12, 20], "uv_size": [1, 3]}, + "up": {"uv": [14, 20], "uv_size": [1, 1]}, + "down": {"uv": [13, 21], "uv_size": [1, -1]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/gun.geo.json b/public/games/attack_hole/data/models/gun.geo.json new file mode 100644 index 0000000..9156c69 --- /dev/null +++ b/public/games/attack_hole/data/models/gun.geo.json @@ -0,0 +1,47 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.bullet_gun", + "texture_width": 16, + "texture_height": 16, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-1, 0, -1], + "size": [2, 3, 2], + "uv": { + "north": {"uv": [0, 0], "uv_size": [2, 3]}, + "east": {"uv": [2, 0], "uv_size": [2, 3]}, + "south": {"uv": [0, 3], "uv_size": [2, 3]}, + "west": {"uv": [2, 3], "uv_size": [2, 3]}, + "up": {"uv": [4, 0], "uv_size": [2, 2]}, + "down": {"uv": [4, 4], "uv_size": [2, -2]} + } + }, + { + "origin": [-0.75, 3, -0.75], + "size": [1.5, 2, 1.5], + "uv": { + "north": {"uv": [4, 4], "uv_size": [2, 2]}, + "east": {"uv": [0, 6], "uv_size": [2, 2]}, + "south": {"uv": [6, 0], "uv_size": [2, 2]}, + "west": {"uv": [2, 6], "uv_size": [2, 2]}, + "up": {"uv": [6, 2], "uv_size": [2, 2]}, + "down": {"uv": [4, 8], "uv_size": [2, -2]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/magnum.geo.json b/public/games/attack_hole/data/models/magnum.geo.json new file mode 100644 index 0000000..e3ccaeb --- /dev/null +++ b/public/games/attack_hole/data/models/magnum.geo.json @@ -0,0 +1,47 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.bullet_magnum", + "texture_width": 16, + "texture_height": 16, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0.41667, 5, 0.41667], + "cubes": [ + { + "origin": [-1.5, 0, -1.5], + "size": [3, 4, 3], + "uv": { + "north": {"uv": [0, 0], "uv_size": [3, 4]}, + "east": {"uv": [3, 0], "uv_size": [3, 4]}, + "south": {"uv": [0, 4], "uv_size": [3, 4]}, + "west": {"uv": [3, 4], "uv_size": [3, 4]}, + "up": {"uv": [6, 0], "uv_size": [3, 3]}, + "down": {"uv": [6, 6], "uv_size": [3, -3]} + } + }, + { + "origin": [-1.25, 4, -1.25], + "size": [2.5, 2, 2.5], + "uv": { + "north": {"uv": [3, 8], "uv_size": [3, 2]}, + "east": {"uv": [9, 0], "uv_size": [3, 2]}, + "south": {"uv": [9, 2], "uv_size": [3, 2]}, + "west": {"uv": [9, 4], "uv_size": [3, 2]}, + "up": {"uv": [6, 6], "uv_size": [3, 3]}, + "down": {"uv": [0, 11], "uv_size": [3, -3]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/rocket.geo.json b/public/games/attack_hole/data/models/rocket.geo.json new file mode 100644 index 0000000..157410f --- /dev/null +++ b/public/games/attack_hole/data/models/rocket.geo.json @@ -0,0 +1,95 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.rocket", + "texture_width": 32, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-1, 0, -1], + "size": [2, 3, 2], + "uv": { + "north": {"uv": [24, 16], "uv_size": [2, 3]}, + "east": {"uv": [22, 16], "uv_size": [2, 3]}, + "south": {"uv": [20, 16], "uv_size": [2, 3]}, + "west": {"uv": [26, 16], "uv_size": [2, 3]}, + "up": {"uv": [20, 19], "uv_size": [2, 2]}, + "down": {"uv": [22, 21], "uv_size": [2, -2]} + } + }, + { + "origin": [-2.5, 0, -0.5], + "size": [5, 3, 1], + "uv": { + "north": {"uv": [5, 16], "uv_size": [5, 3]}, + "east": {"uv": [1, 19], "uv_size": [1, 3]}, + "south": {"uv": [0, 16], "uv_size": [5, 3]}, + "west": {"uv": [0, 19], "uv_size": [1, 3]}, + "up": {"uv": [2, 19], "uv_size": [5, 1]}, + "down": {"uv": [2, 21], "uv_size": [5, -1]} + } + }, + { + "origin": [-0.5, 0, -2.5], + "size": [1, 3, 5], + "uv": { + "north": {"uv": [11, 19], "uv_size": [1, 3]}, + "east": {"uv": [10, 16], "uv_size": [5, 3]}, + "south": {"uv": [10, 19], "uv_size": [1, 3]}, + "west": {"uv": [15, 16], "uv_size": [5, 3]}, + "up": {"uv": [12, 19], "uv_size": [1, 5]}, + "down": {"uv": [13, 24], "uv_size": [1, -5]} + } + }, + { + "origin": [-1.5, 3, -1.5], + "size": [3, 10, 3], + "uv": { + "north": {"uv": [3, 0], "uv_size": [3, 10]}, + "east": {"uv": [6, 0], "uv_size": [3, 10]}, + "south": {"uv": [9, 0], "uv_size": [3, 10]}, + "west": {"uv": [0, 0], "uv_size": [3, 10]}, + "up": {"uv": [0, 10], "uv_size": [3, 3]}, + "down": {"uv": [3, 13], "uv_size": [3, -3]} + } + }, + { + "origin": [-1, 13, -1], + "size": [2, 3, 2], + "uv": { + "north": {"uv": [13, 0], "uv_size": [2, 3]}, + "east": {"uv": [15, 0], "uv_size": [2, 3]}, + "south": {"uv": [17, 0], "uv_size": [2, 3]}, + "west": {"uv": [19, 0], "uv_size": [2, 3]}, + "up": {"uv": [15, 3], "uv_size": [2, 2]}, + "down": {"uv": [13, 5], "uv_size": [2, -2]} + } + }, + { + "origin": [-0.5, 16, -0.5], + "size": [1, 2, 1], + "uv": { + "north": {"uv": [26, 0], "uv_size": [1, 2]}, + "east": {"uv": [25, 0], "uv_size": [1, 2]}, + "south": {"uv": [24, 0], "uv_size": [1, 2]}, + "west": {"uv": [23, 0], "uv_size": [1, 2]}, + "up": {"uv": [28, 0], "uv_size": [1, 1]}, + "down": {"uv": [27, 1], "uv_size": [1, -1]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/shotgun.geo.json b/public/games/attack_hole/data/models/shotgun.geo.json new file mode 100644 index 0000000..d4b5475 --- /dev/null +++ b/public/games/attack_hole/data/models/shotgun.geo.json @@ -0,0 +1,47 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.bullet_shotgun", + "texture_width": 16, + "texture_height": 16, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 3, 0], + "cubes": [ + { + "origin": [-2, 0, -2], + "size": [4, 2, 4], + "uv": { + "north": {"uv": [9, 3], "uv_size": [3, 2]}, + "east": {"uv": [9, 5], "uv_size": [3, 2]}, + "south": {"uv": [6, 9], "uv_size": [3, 2]}, + "west": {"uv": [9, 7], "uv_size": [3, 2]}, + "up": {"uv": [6, 0], "uv_size": [3, 3]}, + "down": {"uv": [6, 6], "uv_size": [3, -3]} + } + }, + { + "origin": [-1.5, 2, -1.5], + "size": [3, 6, 3], + "uv": { + "north": {"uv": [0, 0], "uv_size": [3, 5]}, + "east": {"uv": [3, 0], "uv_size": [3, 5]}, + "south": {"uv": [0, 5], "uv_size": [3, 5]}, + "west": {"uv": [3, 5], "uv_size": [3, 5]}, + "up": {"uv": [6, 6], "uv_size": [3, 3]}, + "down": {"uv": [9, 3], "uv_size": [3, -3]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/sniper.geo.json b/public/games/attack_hole/data/models/sniper.geo.json new file mode 100644 index 0000000..0710ff5 --- /dev/null +++ b/public/games/attack_hole/data/models/sniper.geo.json @@ -0,0 +1,47 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.bullet_sniper", + "texture_width": 16, + "texture_height": 16, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-1, 0, -1], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [0, 0], "uv_size": [2, 6]}, + "east": {"uv": [2, 0], "uv_size": [2, 6]}, + "south": {"uv": [4, 0], "uv_size": [2, 6]}, + "west": {"uv": [6, 0], "uv_size": [2, 6]}, + "up": {"uv": [0, 8], "uv_size": [2, 2]}, + "down": {"uv": [0, 12], "uv_size": [2, -2]} + } + }, + { + "origin": [-0.5, 6, -0.5], + "size": [1, 3, 1], + "uv": { + "north": {"uv": [4, 6], "uv_size": [1, 3]}, + "east": {"uv": [5, 6], "uv_size": [1, 3]}, + "south": {"uv": [6, 6], "uv_size": [1, 3]}, + "west": {"uv": [3, 6], "uv_size": [1, 3]}, + "up": {"uv": [2, 7], "uv_size": [1, 1]}, + "down": {"uv": [2, 7], "uv_size": [1, -1]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/attack_hole/data/models/tmp.geo.json b/public/games/attack_hole/data/models/tmp.geo.json new file mode 100644 index 0000000..79f17ed --- /dev/null +++ b/public/games/attack_hole/data/models/tmp.geo.json @@ -0,0 +1,47 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.bullet_tmp", + "texture_width": 16, + "texture_height": 16, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-0.75, 0, -0.75], + "size": [1.5, 4, 1.5], + "uv": { + "north": {"uv": [0, 0], "uv_size": [1.5, 4]}, + "east": {"uv": [3, 0], "uv_size": [1.5, 4]}, + "south": {"uv": [1.5, 0], "uv_size": [1.5, 4]}, + "west": {"uv": [4.5, 0], "uv_size": [1.5, 4]}, + "up": {"uv": [0, 5], "uv_size": [1.5, 1.5]}, + "down": {"uv": [0, 8], "uv_size": [1.5, -1.5]} + } + }, + { + "origin": [-0.75, 4, -0.75], + "size": [1.5, 1.5, 1.5], + "uv": { + "north": {"uv": [6, 3], "uv_size": [1.5, 1.5]}, + "east": {"uv": [6, 4.5], "uv_size": [1.5, 1.5]}, + "south": {"uv": [6, 1.5], "uv_size": [1.5, 1.5]}, + "west": {"uv": [6, 0], "uv_size": [1.5, 1.5]}, + "up": {"uv": [3.5, 6], "uv_size": [1.5, 1.5]}, + "down": {"uv": [2, 7.5], "uv_size": [1.5, -1.5]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/public/games/block_breaker/assets/blocks/amethyst_block.png b/public/games/block_breaker/assets/blocks/amethyst_block.png new file mode 100644 index 0000000..4e3e8b1 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/amethyst_block.png differ diff --git a/public/games/block_breaker/assets/blocks/ancient_debris_side.png b/public/games/block_breaker/assets/blocks/ancient_debris_side.png new file mode 100644 index 0000000..498d98a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/ancient_debris_side.png differ diff --git a/public/games/block_breaker/assets/blocks/barrel_side.png b/public/games/block_breaker/assets/blocks/barrel_side.png new file mode 100644 index 0000000..f2d4b7f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/barrel_side.png differ diff --git a/public/games/block_breaker/assets/blocks/basalt_side.png b/public/games/block_breaker/assets/blocks/basalt_side.png new file mode 100644 index 0000000..b9e2ace Binary files /dev/null and b/public/games/block_breaker/assets/blocks/basalt_side.png differ diff --git a/public/games/block_breaker/assets/blocks/bedrock.png b/public/games/block_breaker/assets/blocks/bedrock.png new file mode 100644 index 0000000..e2df190 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/bedrock.png differ diff --git a/public/games/block_breaker/assets/blocks/bee_nest_front.png b/public/games/block_breaker/assets/blocks/bee_nest_front.png new file mode 100644 index 0000000..6810ce9 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/bee_nest_front.png differ diff --git a/public/games/block_breaker/assets/blocks/bee_nest_front_honey.png b/public/games/block_breaker/assets/blocks/bee_nest_front_honey.png new file mode 100644 index 0000000..429fe06 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/bee_nest_front_honey.png differ diff --git a/public/games/block_breaker/assets/blocks/beehive_front.png b/public/games/block_breaker/assets/blocks/beehive_front.png new file mode 100644 index 0000000..09cd1fb Binary files /dev/null and b/public/games/block_breaker/assets/blocks/beehive_front.png differ diff --git a/public/games/block_breaker/assets/blocks/beehive_front_honey.png b/public/games/block_breaker/assets/blocks/beehive_front_honey.png new file mode 100644 index 0000000..662e320 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/beehive_front_honey.png differ diff --git a/public/games/block_breaker/assets/blocks/blackstone.png b/public/games/block_breaker/assets/blocks/blackstone.png new file mode 100644 index 0000000..5f94c21 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/blackstone.png differ diff --git a/public/games/block_breaker/assets/blocks/bookshelf.png b/public/games/block_breaker/assets/blocks/bookshelf.png new file mode 100644 index 0000000..5d2afaf Binary files /dev/null and b/public/games/block_breaker/assets/blocks/bookshelf.png differ diff --git a/public/games/block_breaker/assets/blocks/calcite.png b/public/games/block_breaker/assets/blocks/calcite.png new file mode 100644 index 0000000..4c2b0dd Binary files /dev/null and b/public/games/block_breaker/assets/blocks/calcite.png differ diff --git a/public/games/block_breaker/assets/blocks/chest_front.png b/public/games/block_breaker/assets/blocks/chest_front.png new file mode 100644 index 0000000..60ab981 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/chest_front.png differ diff --git a/public/games/block_breaker/assets/blocks/chiseled_bookshelf_occupied.png b/public/games/block_breaker/assets/blocks/chiseled_bookshelf_occupied.png new file mode 100644 index 0000000..22a0f74 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/chiseled_bookshelf_occupied.png differ diff --git a/public/games/block_breaker/assets/blocks/clay.png b/public/games/block_breaker/assets/blocks/clay.png new file mode 100644 index 0000000..b350cef Binary files /dev/null and b/public/games/block_breaker/assets/blocks/clay.png differ diff --git a/public/games/block_breaker/assets/blocks/coal_ore.png b/public/games/block_breaker/assets/blocks/coal_ore.png new file mode 100644 index 0000000..2a21d2b Binary files /dev/null and b/public/games/block_breaker/assets/blocks/coal_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/coarse_dirt.png b/public/games/block_breaker/assets/blocks/coarse_dirt.png new file mode 100644 index 0000000..39211f1 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/coarse_dirt.png differ diff --git a/public/games/block_breaker/assets/blocks/cobbled_deepslate.png b/public/games/block_breaker/assets/blocks/cobbled_deepslate.png new file mode 100644 index 0000000..50fe34e Binary files /dev/null and b/public/games/block_breaker/assets/blocks/cobbled_deepslate.png differ diff --git a/public/games/block_breaker/assets/blocks/cobblestone.png b/public/games/block_breaker/assets/blocks/cobblestone.png new file mode 100644 index 0000000..7b9837a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/cobblestone.png differ diff --git a/public/games/block_breaker/assets/blocks/cobblestone_mossy.png b/public/games/block_breaker/assets/blocks/cobblestone_mossy.png new file mode 100644 index 0000000..153397a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/cobblestone_mossy.png differ diff --git a/public/games/block_breaker/assets/blocks/command_block_back_mipmap.png b/public/games/block_breaker/assets/blocks/command_block_back_mipmap.png new file mode 100644 index 0000000..3d9ec3a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/command_block_back_mipmap.png differ diff --git a/public/games/block_breaker/assets/blocks/copper_block.png b/public/games/block_breaker/assets/blocks/copper_block.png new file mode 100644 index 0000000..f7ce8b4 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/copper_block.png differ diff --git a/public/games/block_breaker/assets/blocks/copper_chest_inventory_front.png b/public/games/block_breaker/assets/blocks/copper_chest_inventory_front.png new file mode 100644 index 0000000..db0c0b6 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/copper_chest_inventory_front.png differ diff --git a/public/games/block_breaker/assets/blocks/copper_ore.png b/public/games/block_breaker/assets/blocks/copper_ore.png new file mode 100644 index 0000000..c7aea0c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/copper_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/crafting_table_front.png b/public/games/block_breaker/assets/blocks/crafting_table_front.png new file mode 100644 index 0000000..5bdd5d4 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/crafting_table_front.png differ diff --git a/public/games/block_breaker/assets/blocks/crimson_nylium_side.png b/public/games/block_breaker/assets/blocks/crimson_nylium_side.png new file mode 100644 index 0000000..60d4790 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/crimson_nylium_side.png differ diff --git a/public/games/block_breaker/assets/blocks/crying_obsidian.png b/public/games/block_breaker/assets/blocks/crying_obsidian.png new file mode 100644 index 0000000..1ec4b2c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/crying_obsidian.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate.png b/public/games/block_breaker/assets/blocks/deepslate.png new file mode 100644 index 0000000..b07b09d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_coal_ore.png b/public/games/block_breaker/assets/blocks/deepslate_coal_ore.png new file mode 100644 index 0000000..3b9768c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_coal_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_copper_ore.png b/public/games/block_breaker/assets/blocks/deepslate_copper_ore.png new file mode 100644 index 0000000..6dc547d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_copper_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_diamond_ore.png b/public/games/block_breaker/assets/blocks/deepslate_diamond_ore.png new file mode 100644 index 0000000..86772d0 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_diamond_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_emerald_ore.png b/public/games/block_breaker/assets/blocks/deepslate_emerald_ore.png new file mode 100644 index 0000000..31720fd Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_emerald_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_gold_ore.png b/public/games/block_breaker/assets/blocks/deepslate_gold_ore.png new file mode 100644 index 0000000..be52acb Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_gold_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_iron_ore.png b/public/games/block_breaker/assets/blocks/deepslate_iron_ore.png new file mode 100644 index 0000000..96c170e Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_iron_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_lapis_ore.png b/public/games/block_breaker/assets/blocks/deepslate_lapis_ore.png new file mode 100644 index 0000000..0e9c8cc Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_lapis_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/deepslate_redstone_ore.png b/public/games/block_breaker/assets/blocks/deepslate_redstone_ore.png new file mode 100644 index 0000000..6a1419a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/deepslate_redstone_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/diamond_block.png b/public/games/block_breaker/assets/blocks/diamond_block.png new file mode 100644 index 0000000..be41339 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/diamond_block.png differ diff --git a/public/games/block_breaker/assets/blocks/diamond_ore.png b/public/games/block_breaker/assets/blocks/diamond_ore.png new file mode 100644 index 0000000..5182e1c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/diamond_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/dirt.png b/public/games/block_breaker/assets/blocks/dirt.png new file mode 100644 index 0000000..2af9958 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/dirt.png differ diff --git a/public/games/block_breaker/assets/blocks/dirt_podzol_side.png b/public/games/block_breaker/assets/blocks/dirt_podzol_side.png new file mode 100644 index 0000000..89a328b Binary files /dev/null and b/public/games/block_breaker/assets/blocks/dirt_podzol_side.png differ diff --git a/public/games/block_breaker/assets/blocks/dirt_with_roots.png b/public/games/block_breaker/assets/blocks/dirt_with_roots.png new file mode 100644 index 0000000..b28f0a3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/dirt_with_roots.png differ diff --git a/public/games/block_breaker/assets/blocks/dripstone_block.png b/public/games/block_breaker/assets/blocks/dripstone_block.png new file mode 100644 index 0000000..c3fbb5b Binary files /dev/null and b/public/games/block_breaker/assets/blocks/dripstone_block.png differ diff --git a/public/games/block_breaker/assets/blocks/emerald_block.png b/public/games/block_breaker/assets/blocks/emerald_block.png new file mode 100644 index 0000000..80e9c00 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/emerald_block.png differ diff --git a/public/games/block_breaker/assets/blocks/emerald_ore.png b/public/games/block_breaker/assets/blocks/emerald_ore.png new file mode 100644 index 0000000..425191c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/emerald_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/end_stone.png b/public/games/block_breaker/assets/blocks/end_stone.png new file mode 100644 index 0000000..4825c91 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/end_stone.png differ diff --git a/public/games/block_breaker/assets/blocks/ender_chest_front.png b/public/games/block_breaker/assets/blocks/ender_chest_front.png new file mode 100644 index 0000000..08776b3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/ender_chest_front.png differ diff --git a/public/games/block_breaker/assets/blocks/exposed_copper.png b/public/games/block_breaker/assets/blocks/exposed_copper.png new file mode 100644 index 0000000..d265f4b Binary files /dev/null and b/public/games/block_breaker/assets/blocks/exposed_copper.png differ diff --git a/public/games/block_breaker/assets/blocks/exposed_copper_chest_inventory_front.png b/public/games/block_breaker/assets/blocks/exposed_copper_chest_inventory_front.png new file mode 100644 index 0000000..5ecfeab Binary files /dev/null and b/public/games/block_breaker/assets/blocks/exposed_copper_chest_inventory_front.png differ diff --git a/public/games/block_breaker/assets/blocks/gilded_blackstone.png b/public/games/block_breaker/assets/blocks/gilded_blackstone.png new file mode 100644 index 0000000..db5c616 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/gilded_blackstone.png differ diff --git a/public/games/block_breaker/assets/blocks/glowing_obsidian.png b/public/games/block_breaker/assets/blocks/glowing_obsidian.png new file mode 100644 index 0000000..88e1cfb Binary files /dev/null and b/public/games/block_breaker/assets/blocks/glowing_obsidian.png differ diff --git a/public/games/block_breaker/assets/blocks/glowstone.png b/public/games/block_breaker/assets/blocks/glowstone.png new file mode 100644 index 0000000..3ff68e2 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/glowstone.png differ diff --git a/public/games/block_breaker/assets/blocks/gold_block.png b/public/games/block_breaker/assets/blocks/gold_block.png new file mode 100644 index 0000000..c74092a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/gold_block.png differ diff --git a/public/games/block_breaker/assets/blocks/gold_ore.png b/public/games/block_breaker/assets/blocks/gold_ore.png new file mode 100644 index 0000000..cb1c9cc Binary files /dev/null and b/public/games/block_breaker/assets/blocks/gold_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/grass_block_snow.png b/public/games/block_breaker/assets/blocks/grass_block_snow.png new file mode 100644 index 0000000..5fe3e02 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/grass_block_snow.png differ diff --git a/public/games/block_breaker/assets/blocks/grass_path_side.png b/public/games/block_breaker/assets/blocks/grass_path_side.png new file mode 100644 index 0000000..c354996 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/grass_path_side.png differ diff --git a/public/games/block_breaker/assets/blocks/grass_side_carried.png b/public/games/block_breaker/assets/blocks/grass_side_carried.png new file mode 100644 index 0000000..30663bf Binary files /dev/null and b/public/games/block_breaker/assets/blocks/grass_side_carried.png differ diff --git a/public/games/block_breaker/assets/blocks/gravel.png b/public/games/block_breaker/assets/blocks/gravel.png new file mode 100644 index 0000000..dd006d4 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/gravel.png differ diff --git a/public/games/block_breaker/assets/blocks/honey_side.png b/public/games/block_breaker/assets/blocks/honey_side.png new file mode 100644 index 0000000..071ca42 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/honey_side.png differ diff --git a/public/games/block_breaker/assets/blocks/ice.png b/public/games/block_breaker/assets/blocks/ice.png new file mode 100644 index 0000000..9b08668 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/ice.png differ diff --git a/public/games/block_breaker/assets/blocks/ice_packed.png b/public/games/block_breaker/assets/blocks/ice_packed.png new file mode 100644 index 0000000..9aa4da6 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/ice_packed.png differ diff --git a/public/games/block_breaker/assets/blocks/iron_block.png b/public/games/block_breaker/assets/blocks/iron_block.png new file mode 100644 index 0000000..b4d5e53 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/iron_block.png differ diff --git a/public/games/block_breaker/assets/blocks/iron_ore.png b/public/games/block_breaker/assets/blocks/iron_ore.png new file mode 100644 index 0000000..8fa6857 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/iron_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/lapis_block.png b/public/games/block_breaker/assets/blocks/lapis_block.png new file mode 100644 index 0000000..f2fc093 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/lapis_block.png differ diff --git a/public/games/block_breaker/assets/blocks/lapis_ore.png b/public/games/block_breaker/assets/blocks/lapis_ore.png new file mode 100644 index 0000000..7c212c3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/lapis_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/magma.png b/public/games/block_breaker/assets/blocks/magma.png new file mode 100644 index 0000000..4f3ed73 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/magma.png differ diff --git a/public/games/block_breaker/assets/blocks/mud.png b/public/games/block_breaker/assets/blocks/mud.png new file mode 100644 index 0000000..104d291 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/mud.png differ diff --git a/public/games/block_breaker/assets/blocks/muddy_mangrove_roots_side.png b/public/games/block_breaker/assets/blocks/muddy_mangrove_roots_side.png new file mode 100644 index 0000000..9436714 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/muddy_mangrove_roots_side.png differ diff --git a/public/games/block_breaker/assets/blocks/mycelium_side.png b/public/games/block_breaker/assets/blocks/mycelium_side.png new file mode 100644 index 0000000..3e65e6e Binary files /dev/null and b/public/games/block_breaker/assets/blocks/mycelium_side.png differ diff --git a/public/games/block_breaker/assets/blocks/nether_brick.png b/public/games/block_breaker/assets/blocks/nether_brick.png new file mode 100644 index 0000000..90c6e33 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/nether_brick.png differ diff --git a/public/games/block_breaker/assets/blocks/nether_gold_ore.png b/public/games/block_breaker/assets/blocks/nether_gold_ore.png new file mode 100644 index 0000000..7029bc0 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/nether_gold_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/nether_wart_block.png b/public/games/block_breaker/assets/blocks/nether_wart_block.png new file mode 100644 index 0000000..27052ea Binary files /dev/null and b/public/games/block_breaker/assets/blocks/nether_wart_block.png differ diff --git a/public/games/block_breaker/assets/blocks/netherite_block.png b/public/games/block_breaker/assets/blocks/netherite_block.png new file mode 100644 index 0000000..60957f0 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/netherite_block.png differ diff --git a/public/games/block_breaker/assets/blocks/netherrack.png b/public/games/block_breaker/assets/blocks/netherrack.png new file mode 100644 index 0000000..d324e2f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/netherrack.png differ diff --git a/public/games/block_breaker/assets/blocks/obsidian.png b/public/games/block_breaker/assets/blocks/obsidian.png new file mode 100644 index 0000000..9ebf440 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/obsidian.png differ diff --git a/public/games/block_breaker/assets/blocks/oxidized_copper.png b/public/games/block_breaker/assets/blocks/oxidized_copper.png new file mode 100644 index 0000000..0ad69bc Binary files /dev/null and b/public/games/block_breaker/assets/blocks/oxidized_copper.png differ diff --git a/public/games/block_breaker/assets/blocks/oxidized_copper_chest_inventory_front.png b/public/games/block_breaker/assets/blocks/oxidized_copper_chest_inventory_front.png new file mode 100644 index 0000000..25861dc Binary files /dev/null and b/public/games/block_breaker/assets/blocks/oxidized_copper_chest_inventory_front.png differ diff --git a/public/games/block_breaker/assets/blocks/packed_mud.png b/public/games/block_breaker/assets/blocks/packed_mud.png new file mode 100644 index 0000000..c1539af Binary files /dev/null and b/public/games/block_breaker/assets/blocks/packed_mud.png differ diff --git a/public/games/block_breaker/assets/blocks/quartz_ore.png b/public/games/block_breaker/assets/blocks/quartz_ore.png new file mode 100644 index 0000000..9036e38 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/quartz_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/raw_copper_block.png b/public/games/block_breaker/assets/blocks/raw_copper_block.png new file mode 100644 index 0000000..204a822 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/raw_copper_block.png differ diff --git a/public/games/block_breaker/assets/blocks/raw_gold_block.png b/public/games/block_breaker/assets/blocks/raw_gold_block.png new file mode 100644 index 0000000..57472f7 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/raw_gold_block.png differ diff --git a/public/games/block_breaker/assets/blocks/raw_iron_block.png b/public/games/block_breaker/assets/blocks/raw_iron_block.png new file mode 100644 index 0000000..e99a2b3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/raw_iron_block.png differ diff --git a/public/games/block_breaker/assets/blocks/red_nether_brick.png b/public/games/block_breaker/assets/blocks/red_nether_brick.png new file mode 100644 index 0000000..0057946 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/red_nether_brick.png differ diff --git a/public/games/block_breaker/assets/blocks/redstone_block.png b/public/games/block_breaker/assets/blocks/redstone_block.png new file mode 100644 index 0000000..0cc3ddf Binary files /dev/null and b/public/games/block_breaker/assets/blocks/redstone_block.png differ diff --git a/public/games/block_breaker/assets/blocks/redstone_ore.png b/public/games/block_breaker/assets/blocks/redstone_ore.png new file mode 100644 index 0000000..b708697 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/redstone_ore.png differ diff --git a/public/games/block_breaker/assets/blocks/reinforced_deepslate_side.png b/public/games/block_breaker/assets/blocks/reinforced_deepslate_side.png new file mode 100644 index 0000000..934776f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/reinforced_deepslate_side.png differ diff --git a/public/games/block_breaker/assets/blocks/sand.png b/public/games/block_breaker/assets/blocks/sand.png new file mode 100644 index 0000000..c93e4a3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sand.png differ diff --git a/public/games/block_breaker/assets/blocks/sandstone_carved.png b/public/games/block_breaker/assets/blocks/sandstone_carved.png new file mode 100644 index 0000000..c5c469e Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sandstone_carved.png differ diff --git a/public/games/block_breaker/assets/blocks/sandstone_normal.png b/public/games/block_breaker/assets/blocks/sandstone_normal.png new file mode 100644 index 0000000..aa6a922 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sandstone_normal.png differ diff --git a/public/games/block_breaker/assets/blocks/sandstone_smooth.png b/public/games/block_breaker/assets/blocks/sandstone_smooth.png new file mode 100644 index 0000000..6ae4443 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sandstone_smooth.png differ diff --git a/public/games/block_breaker/assets/blocks/sculk_catalyst_top.png b/public/games/block_breaker/assets/blocks/sculk_catalyst_top.png new file mode 100644 index 0000000..00ee9fa Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sculk_catalyst_top.png differ diff --git a/public/games/block_breaker/assets/blocks/sculk_shrieker_bottom.png b/public/games/block_breaker/assets/blocks/sculk_shrieker_bottom.png new file mode 100644 index 0000000..a3bf18f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sculk_shrieker_bottom.png differ diff --git a/public/games/block_breaker/assets/blocks/slime.png b/public/games/block_breaker/assets/blocks/slime.png new file mode 100644 index 0000000..93c4010 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/slime.png differ diff --git a/public/games/block_breaker/assets/blocks/snow.png b/public/games/block_breaker/assets/blocks/snow.png new file mode 100644 index 0000000..2b83227 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/snow.png differ diff --git a/public/games/block_breaker/assets/blocks/soul_sand.png b/public/games/block_breaker/assets/blocks/soul_sand.png new file mode 100644 index 0000000..c6ea8cd Binary files /dev/null and b/public/games/block_breaker/assets/blocks/soul_sand.png differ diff --git a/public/games/block_breaker/assets/blocks/soul_soil.png b/public/games/block_breaker/assets/blocks/soul_soil.png new file mode 100644 index 0000000..6604561 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/soul_soil.png differ diff --git a/public/games/block_breaker/assets/blocks/stone.png b/public/games/block_breaker/assets/blocks/stone.png new file mode 100644 index 0000000..618435e Binary files /dev/null and b/public/games/block_breaker/assets/blocks/stone.png differ diff --git a/public/games/block_breaker/assets/blocks/stone_andesite.png b/public/games/block_breaker/assets/blocks/stone_andesite.png new file mode 100644 index 0000000..b418fe2 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/stone_andesite.png differ diff --git a/public/games/block_breaker/assets/blocks/stone_diorite.png b/public/games/block_breaker/assets/blocks/stone_diorite.png new file mode 100644 index 0000000..5eb65d0 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/stone_diorite.png differ diff --git a/public/games/block_breaker/assets/blocks/stone_granite.png b/public/games/block_breaker/assets/blocks/stone_granite.png new file mode 100644 index 0000000..36c32e0 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/stone_granite.png differ diff --git a/public/games/block_breaker/assets/blocks/stonebrick.png b/public/games/block_breaker/assets/blocks/stonebrick.png new file mode 100644 index 0000000..3f2c93f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/stonebrick.png differ diff --git a/public/games/block_breaker/assets/blocks/sulfur.png b/public/games/block_breaker/assets/blocks/sulfur.png new file mode 100644 index 0000000..065e56f Binary files /dev/null and b/public/games/block_breaker/assets/blocks/sulfur.png differ diff --git a/public/games/block_breaker/assets/blocks/suspicious_gravel_0.png b/public/games/block_breaker/assets/blocks/suspicious_gravel_0.png new file mode 100644 index 0000000..dc91b68 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/suspicious_gravel_0.png differ diff --git a/public/games/block_breaker/assets/blocks/suspicious_sand_0.png b/public/games/block_breaker/assets/blocks/suspicious_sand_0.png new file mode 100644 index 0000000..d870c69 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/suspicious_sand_0.png differ diff --git a/public/games/block_breaker/assets/blocks/tnt_side.png b/public/games/block_breaker/assets/blocks/tnt_side.png new file mode 100644 index 0000000..b387870 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/tnt_side.png differ diff --git a/public/games/block_breaker/assets/blocks/tuff.png b/public/games/block_breaker/assets/blocks/tuff.png new file mode 100644 index 0000000..0880433 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/tuff.png differ diff --git a/public/games/block_breaker/assets/blocks/warped_nylium_side.png b/public/games/block_breaker/assets/blocks/warped_nylium_side.png new file mode 100644 index 0000000..accb58c Binary files /dev/null and b/public/games/block_breaker/assets/blocks/warped_nylium_side.png differ diff --git a/public/games/block_breaker/assets/blocks/weathered_copper.png b/public/games/block_breaker/assets/blocks/weathered_copper.png new file mode 100644 index 0000000..10d24e1 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/weathered_copper.png differ diff --git a/public/games/block_breaker/assets/blocks/weathered_copper_chest_inventory_front.png b/public/games/block_breaker/assets/blocks/weathered_copper_chest_inventory_front.png new file mode 100644 index 0000000..6c25ae2 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/weathered_copper_chest_inventory_front.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_black.png b/public/games/block_breaker/assets/blocks/wool_colored_black.png new file mode 100644 index 0000000..4ee0ded Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_black.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_brown.png b/public/games/block_breaker/assets/blocks/wool_colored_brown.png new file mode 100644 index 0000000..83b19f2 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_brown.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_cyan.png b/public/games/block_breaker/assets/blocks/wool_colored_cyan.png new file mode 100644 index 0000000..3eb475d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_cyan.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_gray.png b/public/games/block_breaker/assets/blocks/wool_colored_gray.png new file mode 100644 index 0000000..89a4398 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_gray.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_green.png b/public/games/block_breaker/assets/blocks/wool_colored_green.png new file mode 100644 index 0000000..5475c8d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_green.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_light_blue.png b/public/games/block_breaker/assets/blocks/wool_colored_light_blue.png new file mode 100644 index 0000000..2ee487a Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_light_blue.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_lime.png b/public/games/block_breaker/assets/blocks/wool_colored_lime.png new file mode 100644 index 0000000..dc3da54 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_lime.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_magenta.png b/public/games/block_breaker/assets/blocks/wool_colored_magenta.png new file mode 100644 index 0000000..abbf348 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_magenta.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_orange.png b/public/games/block_breaker/assets/blocks/wool_colored_orange.png new file mode 100644 index 0000000..bd12539 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_orange.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_pink.png b/public/games/block_breaker/assets/blocks/wool_colored_pink.png new file mode 100644 index 0000000..a2204f6 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_pink.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_purple.png b/public/games/block_breaker/assets/blocks/wool_colored_purple.png new file mode 100644 index 0000000..448076d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_purple.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_red.png b/public/games/block_breaker/assets/blocks/wool_colored_red.png new file mode 100644 index 0000000..8e9d27d Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_red.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_silver.png b/public/games/block_breaker/assets/blocks/wool_colored_silver.png new file mode 100644 index 0000000..9d6fea8 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_silver.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_white.png b/public/games/block_breaker/assets/blocks/wool_colored_white.png new file mode 100644 index 0000000..23ba5a3 Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_white.png differ diff --git a/public/games/block_breaker/assets/blocks/wool_colored_yellow.png b/public/games/block_breaker/assets/blocks/wool_colored_yellow.png new file mode 100644 index 0000000..c3735de Binary files /dev/null and b/public/games/block_breaker/assets/blocks/wool_colored_yellow.png differ diff --git a/public/games/block_breaker/assets/items/copper_pickaxe.png b/public/games/block_breaker/assets/items/copper_pickaxe.png new file mode 100644 index 0000000..a0f2d9c Binary files /dev/null and b/public/games/block_breaker/assets/items/copper_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/copper_shovel.png b/public/games/block_breaker/assets/items/copper_shovel.png new file mode 100644 index 0000000..fa41a5d Binary files /dev/null and b/public/games/block_breaker/assets/items/copper_shovel.png differ diff --git a/public/games/block_breaker/assets/items/diamond_pickaxe.png b/public/games/block_breaker/assets/items/diamond_pickaxe.png new file mode 100644 index 0000000..7181c98 Binary files /dev/null and b/public/games/block_breaker/assets/items/diamond_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/diamond_shovel.png b/public/games/block_breaker/assets/items/diamond_shovel.png new file mode 100644 index 0000000..a3bb990 Binary files /dev/null and b/public/games/block_breaker/assets/items/diamond_shovel.png differ diff --git a/public/games/block_breaker/assets/items/gold_pickaxe.png b/public/games/block_breaker/assets/items/gold_pickaxe.png new file mode 100644 index 0000000..8634664 Binary files /dev/null and b/public/games/block_breaker/assets/items/gold_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/gold_shovel.png b/public/games/block_breaker/assets/items/gold_shovel.png new file mode 100644 index 0000000..66ff882 Binary files /dev/null and b/public/games/block_breaker/assets/items/gold_shovel.png differ diff --git a/public/games/block_breaker/assets/items/iron_pickaxe.png b/public/games/block_breaker/assets/items/iron_pickaxe.png new file mode 100644 index 0000000..3fa7098 Binary files /dev/null and b/public/games/block_breaker/assets/items/iron_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/iron_shovel.png b/public/games/block_breaker/assets/items/iron_shovel.png new file mode 100644 index 0000000..32163ce Binary files /dev/null and b/public/games/block_breaker/assets/items/iron_shovel.png differ diff --git a/public/games/block_breaker/assets/items/netherite_pickaxe.png b/public/games/block_breaker/assets/items/netherite_pickaxe.png new file mode 100644 index 0000000..088283b Binary files /dev/null and b/public/games/block_breaker/assets/items/netherite_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/netherite_shovel.png b/public/games/block_breaker/assets/items/netherite_shovel.png new file mode 100644 index 0000000..9517e2a Binary files /dev/null and b/public/games/block_breaker/assets/items/netherite_shovel.png differ diff --git a/public/games/block_breaker/assets/items/stone_pickaxe.png b/public/games/block_breaker/assets/items/stone_pickaxe.png new file mode 100644 index 0000000..f352d1b Binary files /dev/null and b/public/games/block_breaker/assets/items/stone_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/stone_shovel.png b/public/games/block_breaker/assets/items/stone_shovel.png new file mode 100644 index 0000000..bbfef79 Binary files /dev/null and b/public/games/block_breaker/assets/items/stone_shovel.png differ diff --git a/public/games/block_breaker/assets/items/wood_pickaxe.png b/public/games/block_breaker/assets/items/wood_pickaxe.png new file mode 100644 index 0000000..b56858a Binary files /dev/null and b/public/games/block_breaker/assets/items/wood_pickaxe.png differ diff --git a/public/games/block_breaker/assets/items/wood_shovel.png b/public/games/block_breaker/assets/items/wood_shovel.png new file mode 100644 index 0000000..c20b070 Binary files /dev/null and b/public/games/block_breaker/assets/items/wood_shovel.png differ diff --git a/public/games/block_breaker/data/blocks.json b/public/games/block_breaker/data/blocks.json new file mode 100644 index 0000000..6564a76 --- /dev/null +++ b/public/games/block_breaker/data/blocks.json @@ -0,0 +1,133 @@ +{ + "air": { "hp": 0, "solid": false, "src": null, "desired_tools": [] }, + "dirt": { "hp": 5, "solid": true, "src": "blocks/dirt.png", "desired_tools": ["shovel"] }, + "grass": { "hp": 6, "solid": true, "src": "blocks/grass_side_carried.png", "desired_tools": ["shovel"] }, + "gravel": { "hp": 10, "solid": true, "src": "blocks/gravel.png", "desired_tools": ["shovel"] }, + "sand": { "hp": 5, "solid": true, "src": "blocks/sand.png", "desired_tools": ["shovel"] }, + "coarse_dirt": { "hp": 7, "solid": true, "src": "blocks/coarse_dirt.png", "desired_tools": ["shovel"] }, + "clay": { "hp": 8, "solid": true, "src": "blocks/clay.png", "desired_tools": ["shovel"] }, + "mud": { "hp": 8, "solid": true, "src": "blocks/mud.png", "desired_tools": ["shovel"] }, + "packed_mud": { "hp": 12, "solid": true, "src": "blocks/packed_mud.png", "desired_tools": ["pickaxe"] }, + "dirt_podzol_side": { "hp": 8, "solid": true, "src": "blocks/dirt_podzol_side.png", "desired_tools": ["shovel"] }, + "dirt_with_roots": { "hp": 8, "solid": true, "src": "blocks/dirt_with_roots.png", "desired_tools": ["shovel"] }, + "grass_block_snow": { "hp": 8, "solid": true, "src": "blocks/grass_block_snow.png", "desired_tools": ["shovel"] }, + "grass_path_side": { "hp": 6, "solid": true, "src": "blocks/grass_path_side.png", "desired_tools": ["shovel"] }, + "mycelium_side": { "hp": 10, "solid": true, "src": "blocks/mycelium_side.png", "desired_tools": ["shovel"] }, + "crimson_nylium_side": { "hp": 12, "solid": true, "src": "blocks/crimson_nylium_side.png", "desired_tools": ["pickaxe"] }, + "warped_nylium_side": { "hp": 12, "solid": true, "src": "blocks/warped_nylium_side.png", "desired_tools": ["pickaxe"] }, + "snow": { "hp": 4, "solid": true, "src": "blocks/snow.png", "desired_tools": ["shovel"] }, + "ice": { "hp": 8, "solid": true, "src": "blocks/ice.png", "desired_tools": ["pickaxe"] }, + "ice_packed": { "hp": 15, "solid": true, "src": "blocks/ice_packed.png", "desired_tools": ["pickaxe"] }, + "soul_sand": { "hp": 10, "solid": true, "src": "blocks/soul_sand.png", "desired_tools": ["shovel"] }, + "soul_soil": { "hp": 10, "solid": true, "src": "blocks/soul_soil.png", "desired_tools": ["shovel"] }, + "suspicious_gravel": { "hp": 10, "solid": true, "src": "blocks/suspicious_gravel_0.png", "desired_tools": ["shovel"], "prize": 40 }, + "suspicious_sand": { "hp": 10, "solid": true, "src": "blocks/suspicious_sand_0.png", "desired_tools": ["shovel"], "prize": 40 }, + "stone": { "hp": 20, "solid": true, "src": "blocks/stone.png", "desired_tools": ["pickaxe"] }, + "diorite": { "hp": 22, "solid": true, "src": "blocks/stone_diorite.png", "desired_tools": ["pickaxe"] }, + "granite": { "hp": 22, "solid": true, "src": "blocks/stone_granite.png", "desired_tools": ["pickaxe"] }, + "andesite": { "hp": 22, "solid": true, "src": "blocks/stone_andesite.png", "desired_tools": ["pickaxe"] }, + "cobblestone": { "hp": 30, "solid": true, "src": "blocks/cobblestone.png", "desired_tools": ["pickaxe"] }, + "cobblestone_mossy": { "hp": 30, "solid": true, "src": "blocks/cobblestone_mossy.png", "desired_tools": ["pickaxe"] }, + "stonebrick": { "hp": 35, "solid": true, "src": "blocks/stonebrick.png", "desired_tools": ["pickaxe"] }, + "tuff": { "hp": 25, "solid": true, "src": "blocks/tuff.png", "desired_tools": ["pickaxe"] }, + "calcite": { "hp": 25, "solid": true, "src": "blocks/calcite.png", "desired_tools": ["pickaxe"] }, + "dripstone_block": { "hp": 28, "solid": true, "src": "blocks/dripstone_block.png", "desired_tools": ["pickaxe"] }, + "sandstone_normal": { "hp": 20, "solid": true, "src": "blocks/sandstone_normal.png", "desired_tools": ["pickaxe"] }, + "sandstone_carved": { "hp": 25, "solid": true, "src": "blocks/sandstone_carved.png", "desired_tools": ["pickaxe"] }, + "sandstone_smooth": { "hp": 20, "solid": true, "src": "blocks/sandstone_smooth.png", "desired_tools": ["pickaxe"] }, + "end_stone": { "hp": 60, "solid": true, "src": "blocks/end_stone.png", "desired_tools": ["pickaxe"] }, + "netherrack": { "hp": 10, "solid": true, "src": "blocks/netherrack.png", "desired_tools": ["pickaxe"] }, + "nether_brick": { "hp": 40, "solid": true, "src": "blocks/nether_brick.png", "desired_tools": ["pickaxe"] }, + "red_nether_brick": { "hp": 40, "solid": true, "src": "blocks/red_nether_brick.png", "desired_tools": ["pickaxe"] }, + "basalt_side": { "hp": 35, "solid": true, "src": "blocks/basalt_side.png", "desired_tools": ["pickaxe"] }, + "blackstone": { "hp": 45, "solid": true, "src": "blocks/blackstone.png", "desired_tools": ["pickaxe"] }, + "gilded_blackstone": { "hp": 60, "solid": true, "src": "blocks/gilded_blackstone.png", "desired_tools": ["pickaxe"], "prize": 200 }, + "deepslate": { "hp": 80, "solid": true, "src": "blocks/deepslate.png", "desired_tools": ["pickaxe"] }, + "cobbled_deepslate": { "hp": 90, "solid": true, "src": "blocks/cobbled_deepslate.png", "desired_tools": ["pickaxe"] }, + "reinforced_deepslate_side": { "hp": 800, "solid": true, "src": "blocks/reinforced_deepslate_side.png", "desired_tools": ["pickaxe"] }, + "obsidian": { "hp": 200, "solid": true, "src": "blocks/obsidian.png", "desired_tools": ["pickaxe"] }, + "crying_obsidian": { "hp": 200, "solid": true, "src": "blocks/crying_obsidian.png", "desired_tools": ["pickaxe"] }, + "glowing_obsidian": { "hp": 200, "solid": true, "src": "blocks/glowing_obsidian.png", "desired_tools": ["pickaxe"] }, + "magma": { "hp": 30, "solid": true, "src": "blocks/magma.png", "desired_tools": ["pickaxe"] }, + "coal_ore": { "hp": 25, "solid": true, "src": "blocks/coal_ore.png", "desired_tools": ["pickaxe"], "prize": 40 }, + "deepslate_coal_ore": { "hp": 80, "solid": true, "src": "blocks/deepslate_coal_ore.png", "desired_tools": ["pickaxe"], "prize": 60 }, + "copper_ore": { "hp": 30, "solid": true, "src": "blocks/copper_ore.png", "desired_tools": ["pickaxe"], "prize": 50 }, + "deepslate_copper_ore": { "hp": 85, "solid": true, "src": "blocks/deepslate_copper_ore.png", "desired_tools": ["pickaxe"], "prize": 80 }, + "iron_ore": { "hp": 40, "solid": true, "src": "blocks/iron_ore.png", "desired_tools": ["pickaxe"], "prize": 70 }, + "deepslate_iron_ore": { "hp": 90, "solid": true, "src": "blocks/deepslate_iron_ore.png", "desired_tools": ["pickaxe"], "prize": 110 }, + "gold_ore": { "hp": 55, "solid": true, "src": "blocks/gold_ore.png", "desired_tools": ["pickaxe"], "prize": 120 }, + "deepslate_gold_ore": { "hp": 110, "solid": true, "src": "blocks/deepslate_gold_ore.png", "desired_tools": ["pickaxe"], "prize": 180 }, + "nether_gold_ore": { "hp": 25, "solid": true, "src": "blocks/nether_gold_ore.png", "desired_tools": ["pickaxe"], "prize": 100 }, + "redstone_ore": { "hp": 45, "solid": true, "src": "blocks/redstone_ore.png", "desired_tools": ["pickaxe"], "prize": 85 }, + "deepslate_redstone_ore": { "hp": 100, "solid": true, "src": "blocks/deepslate_redstone_ore.png", "desired_tools": ["pickaxe"], "prize": 130 }, + "lapis_ore": { "hp": 45, "solid": true, "src": "blocks/lapis_ore.png", "desired_tools": ["pickaxe"], "prize": 85 }, + "deepslate_lapis_ore": { "hp": 100, "solid": true, "src": "blocks/deepslate_lapis_ore.png", "desired_tools": ["pickaxe"], "prize": 130 }, + "diamond_ore": { "hp": 100, "solid": true, "src": "blocks/diamond_ore.png", "desired_tools": ["pickaxe"], "prize": 250 }, + "deepslate_diamond_ore": { "hp": 140, "solid": true, "src": "blocks/deepslate_diamond_ore.png", "desired_tools": ["pickaxe"], "prize": 400 }, + "emerald_ore": { "hp": 120, "solid": true, "src": "blocks/emerald_ore.png", "desired_tools": ["pickaxe"], "prize": 300 }, + "deepslate_emerald_ore": { "hp": 160, "solid": true, "src": "blocks/deepslate_emerald_ore.png", "desired_tools": ["pickaxe"], "prize": 450 }, + "quartz_ore": { "hp": 20, "solid": true, "src": "blocks/quartz_ore.png", "desired_tools": ["pickaxe"], "prize": 60 }, + "ancient_debris_side": { "hp": 250, "solid": true, "src": "blocks/ancient_debris_side.png", "desired_tools": ["pickaxe"], "prize": 750 }, + "amethyst_block": { "hp": 40, "solid": true, "src": "blocks/amethyst_block.png", "desired_tools": ["pickaxe"], "prize": 70 }, + "copper_block": { "hp": 50, "solid": true, "src": "blocks/copper_block.png", "desired_tools": ["pickaxe"] }, + "exposed_copper": { "hp": 50, "solid": true, "src": "blocks/exposed_copper.png", "desired_tools": ["pickaxe"] }, + "weathered_copper": { "hp": 50, "solid": true, "src": "blocks/weathered_copper.png", "desired_tools": ["pickaxe"] }, + "oxidized_copper": { "hp": 50, "solid": true, "src": "blocks/oxidized_copper.png", "desired_tools": ["pickaxe"] }, + "raw_copper_block": { "hp": 60, "solid": true, "src": "blocks/raw_copper_block.png", "desired_tools": ["pickaxe"], "prize": 150 }, + "raw_iron_block": { "hp": 80, "solid": true, "src": "blocks/raw_iron_block.png", "desired_tools": ["pickaxe"], "prize": 220 }, + "raw_gold_block": { "hp": 110, "solid": true, "src": "blocks/raw_gold_block.png", "desired_tools": ["pickaxe"], "prize": 300 }, + "iron_block": { "hp": 70, "solid": true, "src": "blocks/iron_block.png", "desired_tools": ["pickaxe"] }, + "gold_block": { "hp": 100, "solid": true, "src": "blocks/gold_block.png", "desired_tools": ["pickaxe"] }, + "diamond_block": { "hp": 200, "solid": true, "src": "blocks/diamond_block.png", "desired_tools": ["pickaxe"] }, + "emerald_block": { "hp": 220, "solid": true, "src": "blocks/emerald_block.png", "desired_tools": ["pickaxe"] }, + "lapis_block": { "hp": 80, "solid": true, "src": "blocks/lapis_block.png", "desired_tools": ["pickaxe"] }, + "redstone_block": { "hp": 90, "solid": true, "src": "blocks/redstone_block.png", "desired_tools": ["pickaxe"] }, + "netherite_block": { "hp": 400, "solid": true, "src": "blocks/netherite_block.png", "desired_tools": ["pickaxe"] }, + "glowstone": { "hp": 15, "solid": true, "src": "blocks/glowstone.png", "desired_tools": ["pickaxe"], "prize": 50 }, + "chest_50": { "hp": 1, "solid": true, "src": "blocks/chest_front.png", "prize": 50, "desired_tools": [] }, + "chest_100": { "hp": 1, "solid": true, "src": "blocks/chest_front.png", "prize": 100, "desired_tools": [] }, + "chest_250": { "hp": 1, "solid": true, "src": "blocks/chest_front.png", "prize": 250, "desired_tools": [] }, + "chest_500": { "hp": 1, "solid": true, "src": "blocks/chest_front.png", "prize": 500, "desired_tools": [] }, + "barrel_50": { "hp": 5, "solid": true, "src": "blocks/barrel_side.png", "desired_tools": [], "prize": 50 }, + "barrel_100": { "hp": 5, "solid": true, "src": "blocks/barrel_side.png", "desired_tools": [], "prize": 100 }, + "barrel_250": { "hp": 5, "solid": true, "src": "blocks/barrel_side.png", "desired_tools": [], "prize": 250 }, + "barrel_500": { "hp": 5, "solid": true, "src": "blocks/barrel_side.png", "desired_tools": [], "prize": 500 }, + "copper_chest_inventory_front": { "hp": 15, "solid": true, "src": "blocks/copper_chest_inventory_front.png", "prize": 300, "desired_tools": [] }, + "exposed_copper_chest_inventory_front": { "hp": 25, "solid": true, "src": "blocks/exposed_copper_chest_inventory_front.png", "prize": 400, "desired_tools": [] }, + "weathered_copper_chest_inventory_front": { "hp": 35, "solid": true, "src": "blocks/weathered_copper_chest_inventory_front.png", "prize": 500, "desired_tools": [] }, + "oxidized_copper_chest_inventory_front": { "hp": 45, "solid": true, "src": "blocks/oxidized_copper_chest_inventory_front.png", "prize": 600, "desired_tools": [] }, + "ender_chest_front": { "hp": 150, "solid": true, "src": "blocks/ender_chest_front.png", "prize": 2500, "desired_tools": [] }, + "bee_nest_front": { "hp": 15, "solid": true, "src": "blocks/bee_nest_front.png", "desired_tools": [], "prize": 120 }, + "bee_nest_front_honey": { "hp": 15, "solid": true, "src": "blocks/bee_nest_front_honey.png", "desired_tools": [], "prize": 180 }, + "beehive_front": { "hp": 20, "solid": true, "src": "blocks/beehive_front.png", "desired_tools": [], "prize": 150 }, + "beehive_front_honey": { "hp": 20, "solid": true, "src": "blocks/beehive_front_honey.png", "desired_tools": [], "prize": 220 }, + "honey_side": { "hp": 10, "solid": true, "src": "blocks/honey_side.png", "desired_tools": [] }, + "slime": { "hp": 10, "solid": true, "src": "blocks/slime.png", "desired_tools": [] }, + "tnt_side": { "hp": 1, "solid": true, "src": "blocks/tnt_side.png", "prize": 150, "desired_tools": [] }, + "command_block_back_mipmap": { "hp": 2500, "solid": true, "src": "blocks/command_block_back_mipmap.png", "desired_tools": [], "prize": 1500 }, + "sculk_catalyst_top": { "hp": 100, "solid": true, "src": "blocks/sculk_catalyst_top.png", "desired_tools": [] }, + "sculk_shrieker_bottom": { "hp": 100, "solid": true, "src": "blocks/sculk_shrieker_bottom.png", "desired_tools": [] }, + "bookshelf": { "hp": 15, "solid": true, "src": "blocks/bookshelf.png", "desired_tools": [], "prize": 100 }, + "chiseled_bookshelf_occupied": { "hp": 20, "solid": true, "src": "blocks/chiseled_bookshelf_occupied.png", "prize": 120, "desired_tools": [] }, + "crafting_table_front": { "hp": 15, "solid": true, "src": "blocks/crafting_table_front.png", "desired_tools": [] }, + "muddy_mangrove_roots_side": { "hp": 10, "solid": true, "src": "blocks/muddy_mangrove_roots_side.png", "desired_tools": ["shovel"] }, + "nether_wart_block": { "hp": 20, "solid": true, "src": "blocks/nether_wart_block.png", "desired_tools": [] }, + "sulfur": { "hp": 25, "solid": true, "src": "blocks/sulfur.png", "desired_tools": ["pickaxe"], "prize": 75 }, + "wool_colored_white": { "hp": 5, "solid": true, "src": "blocks/wool_colored_white.png", "desired_tools": [] }, + "wool_colored_orange": { "hp": 5, "solid": true, "src": "blocks/wool_colored_orange.png", "desired_tools": [] }, + "wool_colored_magenta": { "hp": 5, "solid": true, "src": "blocks/wool_colored_magenta.png", "desired_tools": [] }, + "wool_colored_light_blue": { "hp": 5, "solid": true, "src": "blocks/wool_colored_light_blue.png", "desired_tools": [] }, + "wool_colored_yellow": { "hp": 5, "solid": true, "src": "blocks/wool_colored_yellow.png", "desired_tools": [] }, + "wool_colored_lime": { "hp": 5, "solid": true, "src": "blocks/wool_colored_lime.png", "desired_tools": [] }, + "wool_colored_pink": { "hp": 5, "solid": true, "src": "blocks/wool_colored_pink.png", "desired_tools": [] }, + "wool_colored_gray": { "hp": 5, "solid": true, "src": "blocks/wool_colored_gray.png", "desired_tools": [] }, + "wool_colored_silver": { "hp": 5, "solid": true, "src": "blocks/wool_colored_silver.png", "desired_tools": [] }, + "wool_colored_cyan": { "hp": 5, "solid": true, "src": "blocks/wool_colored_cyan.png", "desired_tools": [] }, + "wool_colored_purple": { "hp": 5, "solid": true, "src": "blocks/wool_colored_purple.png", "desired_tools": [] }, + "wool_colored_blue": { "hp": 5, "solid": true, "src": "blocks/wool_colored_light_blue.png", "desired_tools": [] }, + "wool_colored_brown": { "hp": 5, "solid": true, "src": "blocks/wool_colored_brown.png", "desired_tools": [] }, + "wool_colored_green": { "hp": 5, "solid": true, "src": "blocks/wool_colored_green.png", "desired_tools": [] }, + "wool_colored_red": { "hp": 5, "solid": true, "src": "blocks/wool_colored_red.png", "desired_tools": [] }, + "wool_colored_black": { "hp": 5, "solid": true, "src": "blocks/wool_colored_black.png", "desired_tools": [] }, + "bedrock": { "hp": null, "solid": true, "unbreakable": true, "src": "blocks/bedrock.png", "desired_tools": [] } +} diff --git a/public/games/block_breaker/data/items.json b/public/games/block_breaker/data/items.json new file mode 100644 index 0000000..bb3174c --- /dev/null +++ b/public/games/block_breaker/data/items.json @@ -0,0 +1,20 @@ +{ + "shovel": [ + { "level": 1, "name": "Wood Shovel", "src": "items/wood_shovel.png", "damage": 1, "maxHits": 20, "price": 5 }, + { "level": 2, "name": "Stone Shovel", "src": "items/stone_shovel.png", "damage": 2, "maxHits": 40, "price": 15 }, + { "level": 3, "name": "Copper Shovel", "src": "items/copper_shovel.png", "damage": 3, "maxHits": 60, "price": 30 }, + { "level": 4, "name": "Iron Shovel", "src": "items/iron_shovel.png", "damage": 4, "maxHits": 80, "price": 50 }, + { "level": 5, "name": "Gold Shovel", "src": "items/gold_shovel.png", "damage": 15, "maxHits": 25, "price": 80 }, + { "level": 6, "name": "Diamond Shovel", "src": "items/diamond_shovel.png", "damage": 7, "maxHits": 100, "price": 200 }, + { "level": 7, "name": "Netherite Shovel", "src": "items/netherite_shovel.png", "damage": 10, "maxHits": 120, "price": 500 } + ], + "pickaxe": [ + { "level": 1, "name": "Wood Pickaxe", "src": "items/wood_pickaxe.png", "damage": 1, "maxHits": 20, "price": 5 }, + { "level": 2, "name": "Stone Pickaxe", "src": "items/stone_pickaxe.png", "damage": 2, "maxHits": 40, "price": 15 }, + { "level": 3, "name": "Copper Pickaxe", "src": "items/copper_pickaxe.png", "damage": 3, "maxHits": 60, "price": 30 }, + { "level": 4, "name": "Iron Pickaxe", "src": "items/iron_pickaxe.png", "damage": 4, "maxHits": 80, "price": 50 }, + { "level": 5, "name": "Gold Pickaxe", "src": "items/gold_pickaxe.png", "damage": 15, "maxHits": 25, "price": 80 }, + { "level": 6, "name": "Diamond Pickaxe", "src": "items/diamond_pickaxe.png", "damage": 7, "maxHits": 100, "price": 200 }, + { "level": 7, "name": "Netherite Pickaxe", "src": "items/netherite_pickaxe.png", "damage": 10, "maxHits": 120, "price": 500 } + ] +} diff --git a/public/games/block_breaker/data/level.json b/public/games/block_breaker/data/level.json new file mode 100644 index 0000000..f527477 --- /dev/null +++ b/public/games/block_breaker/data/level.json @@ -0,0 +1,953 @@ +{ + "levels": [ + { + "id": "overworld_plains", + "background_color": "#87CEEB", + "max_level": 0, + "random_pools": { + "rand_surface": ["grass", "dirt", "coarse_dirt"], + "rand_stone": ["stone", "andesite", "coal_ore", "iron_ore"], + "rand_deep": ["deepslate", "cobbled_deepslate", "diamond_ore", "lapis_ore"] + }, + "map": [ + ["grass", "grass", "air", "grass", "grass"], + ["dirt", "dirt", "tnt_side", "dirt", "dirt"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "barrel_100", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "exposed_copper_chest_inventory_front", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "weathered_copper_chest_inventory_front", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "sunny_beach", + "background_color": "#87CEEB", + "max_level": 0, + "random_pools": { + "rand_sand": ["sand", "suspicious_sand"], + "rand_stone": ["stone", "coal_ore", "iron_ore", "copper_ore"], + "rand_deep": ["deepslate", "deepslate_gold_ore", "diamond_ore"] + }, + "map": [ + ["sand", "air", "sand", "sand", "sand"], + ["rand_sand", "rand_sand", "barrel_50", "rand_sand", "rand_sand"], + ["sandstone_normal", "sandstone_normal", "sandstone_normal", "sandstone_normal", "sandstone_normal"], + ["rand_stone", "rand_stone", "tnt_side", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "oxidized_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "barrel_250", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_100", "chest_250", "copper_chest_inventory_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "snow_tundra", + "background_color": "#B0E0E6", + "max_level": 0, + "random_pools": { + "rand_snow": ["snow", "grass_block_snow"], + "rand_ice": ["ice", "ice_packed", "stone", "iron_ore"], + "rand_deep": ["deepslate", "deepslate_iron_ore", "deepslate_diamond_ore"] + }, + "map": [ + ["rand_snow", "rand_snow", "air", "rand_snow", "rand_snow"], + ["dirt", "dirt", "dirt", "tnt_side", "dirt"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_ice", "rand_ice", "barrel_100", "rand_ice", "rand_ice"], + ["rand_ice", "rand_ice", "rand_ice", "rand_ice", "rand_ice"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "exposed_copper_chest_inventory_front", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "air", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "chest_100", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "desert_archaeology", + "background_color": "#EDC9AF", + "max_level": 0, + "random_pools": { + "rand_sand": ["sand", "suspicious_sand"], + "rand_sandstone": ["sandstone_normal", "sandstone_carved", "sandstone_smooth"], + "rand_stone": ["stone", "iron_ore", "gold_ore"], + "rand_deep": ["deepslate", "deepslate_gold_ore", "deepslate_diamond_ore"] + }, + "map": [ + ["rand_sand", "rand_sand", "air", "rand_sand", "rand_sand"], + ["rand_sand", "rand_sand", "suspicious_sand", "tnt_side", "rand_sand"], + ["rand_sandstone", "rand_sandstone", "rand_sandstone", "rand_sandstone", "rand_sandstone"], + ["rand_sandstone", "barrel_100", "air", "rand_sandstone", "rand_sandstone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "exposed_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "air", "air", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "chest_500", "chest_250", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "nether_wastes", + "background_color": "#4A0E0E", + "max_level": 0, + "random_pools": { + "rand_nether": ["netherrack", "nether_gold_ore", "quartz_ore"], + "rand_soul": ["soul_sand", "soul_soil", "netherrack"], + "rand_blackstone": ["blackstone", "gilded_blackstone", "ancient_debris_side"] + }, + "map": [ + ["rand_nether", "air", "rand_nether", "rand_nether", "rand_nether"], + ["rand_nether", "rand_nether", "magma", "rand_nether", "tnt_side"], + ["rand_soul", "rand_soul", "rand_nether", "rand_soul", "rand_soul"], + ["rand_nether", "barrel_250", "air", "rand_nether", "rand_nether"], + ["rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone"], + ["rand_blackstone", "rand_blackstone", "weathered_copper_chest_inventory_front", "rand_blackstone", "rand_blackstone"], + ["rand_blackstone", "gilded_blackstone", "rand_blackstone", "gilded_blackstone", "rand_blackstone"], + ["rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone"], + ["rand_blackstone", "air", "air", "air", "rand_blackstone"], + ["rand_blackstone", "rand_blackstone", "barrel_500", "rand_blackstone", "rand_blackstone"], + ["ancient_debris_side", "rand_blackstone", "rand_blackstone", "rand_blackstone", "ancient_debris_side"], + ["rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone", "rand_blackstone"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "ender_chest_front", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "deep_dark_sculk", + "background_color": "#0A0E17", + "max_level": 0, + "random_pools": { + "rand_sculk": ["deepslate", "sculk_catalyst_top", "sculk_shrieker_bottom"], + "rand_deep": ["deepslate", "cobbled_deepslate", "deepslate_diamond_ore", "deepslate_emerald_ore"], + "rand_obsidian": ["obsidian", "crying_obsidian", "glowing_obsidian"] + }, + "map": [ + ["rand_sculk", "air", "rand_sculk", "air", "rand_sculk"], + ["rand_sculk", "rand_sculk", "tnt_side", "rand_sculk", "rand_sculk"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "barrel_500", "air", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_obsidian", "oxidized_copper_chest_inventory_front", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_obsidian", "air", "air", "air", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "barrel_500", "rand_obsidian", "rand_obsidian"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "ender_chest_front", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + + { + "id": "muddy_swamp", + "background_color": "#556B2F", + "max_level": 0, + "random_pools": { + "rand_mud": ["mud", "packed_mud"], + "rand_roots": ["muddy_mangrove_roots_side", "clay"], + "rand_stone": ["stone", "coal_ore", "copper_ore"], + "rand_deep": ["deepslate", "deepslate_copper_ore", "deepslate_coal_ore"] + }, + "map": [ + ["rand_mud", "air", "rand_mud", "rand_mud", "rand_mud"], + ["rand_mud", "rand_mud", "tnt_side", "rand_mud", "rand_roots"], + ["rand_roots", "rand_roots", "rand_roots", "rand_roots", "rand_roots"], + ["rand_stone", "barrel_100", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "exposed_copper_chest_inventory_front", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "barrel_250", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "podzol_taiga", + "background_color": "#6B8E23", + "max_level": 0, + "random_pools": { + "rand_surface": ["dirt_podzol_side", "coarse_dirt"], + "rand_stone": ["stone", "cobblestone_mossy", "iron_ore"], + "rand_deep": ["deepslate", "deepslate_iron_ore", "deepslate_diamond_ore"] + }, + "map": [ + ["rand_surface", "rand_surface", "air", "rand_surface", "rand_surface"], + ["dirt", "dirt", "tnt_side", "dirt", "dirt"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "barrel_100", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "weathered_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "air", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "chest_250", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "ice_cavern", + "background_color": "#8FD3FE", + "max_level": 0, + "random_pools": { + "rand_ice": ["ice_packed", "ice"], + "rand_diorite": ["diorite", "stone", "lapis_ore"], + "rand_deep": ["deepslate", "deepslate_lapis_ore", "diamond_ore"] + }, + "map": [ + ["rand_ice", "air", "rand_ice", "rand_ice", "rand_ice"], + ["rand_ice", "rand_ice", "tnt_side", "rand_ice", "rand_ice"], + ["rand_diorite", "rand_diorite", "rand_diorite", "rand_diorite", "rand_diorite"], + ["rand_diorite", "barrel_100", "air", "rand_diorite", "rand_diorite"], + ["rand_diorite", "rand_diorite", "rand_diorite", "rand_diorite", "rand_diorite"], + ["rand_diorite", "oxidized_copper_chest_inventory_front", "rand_diorite", "rand_diorite", "rand_diorite"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "barrel_500", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "ender_chest_front", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "deep_cave", + "background_color": "#1A1A24", + "max_level": 0, + "random_pools": { + "rand_cave": ["dripstone_block", "cobblestone", "stone"], + "rand_ores": ["coal_ore", "iron_ore", "copper_ore"], + "rand_deep": ["deepslate", "cobbled_deepslate", "deepslate_redstone_ore"] + }, + "map": [ + ["rand_cave", "rand_cave", "air", "rand_cave", "rand_cave"], + ["rand_cave", "rand_cave", "tnt_side", "rand_cave", "rand_cave"], + ["rand_ores", "rand_ores", "rand_cave", "rand_ores", "rand_ores"], + ["rand_cave", "barrel_250", "air", "rand_cave", "rand_cave"], + ["rand_cave", "rand_cave", "rand_cave", "rand_cave", "rand_cave"], + ["stone", "stone", "exposed_copper_chest_inventory_front", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "air", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "amethyst_geode", + "background_color": "#2D1E3A", + "max_level": 0, + "random_pools": { + "rand_crust": ["calcite", "tuff", "stone"], + "rand_geode": ["amethyst_block", "calcite"], + "rand_deep": ["deepslate", "amethyst_block", "diamond_ore"] + }, + "map": [ + ["rand_crust", "rand_crust", "air", "rand_crust", "rand_crust"], + ["rand_crust", "rand_crust", "tnt_side", "rand_crust", "rand_crust"], + ["rand_geode", "rand_geode", "amethyst_block", "rand_geode", "rand_geode"], + ["rand_geode", "barrel_250", "air", "rand_geode", "rand_geode"], + ["rand_geode", "rand_geode", "rand_geode", "rand_geode", "rand_geode"], + ["rand_crust", "weathered_copper_chest_inventory_front", "rand_crust", "rand_crust", "rand_crust"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "copper_chest_inventory_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "end_dimension", + "background_color": "#190E2B", + "max_level": 0, + "random_pools": { + "rand_end": ["end_stone", "obsidian"], + "rand_obsidian": ["obsidian", "crying_obsidian", "glowing_obsidian"] + }, + "map": [ + ["rand_end", "air", "rand_end", "rand_end", "rand_end"], + ["rand_end", "rand_end", "tnt_side", "rand_end", "rand_end"], + ["rand_end", "rand_end", "rand_end", "rand_end", "rand_end"], + ["rand_obsidian", "barrel_500", "air", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "oxidized_copper_chest_inventory_front", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_end", "rand_end", "rand_end", "rand_end", "rand_end"], + ["rand_end", "rand_end", "rand_end", "rand_end", "rand_end"], + ["rand_end", "air", "air", "rand_end", "rand_end"], + ["rand_obsidian", "rand_obsidian", "barrel_500", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["air", "air", "air", "air", "air"], + ["air", "ender_chest_front", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "crimson_forest", + "background_color": "#5A0A0A", + "max_level": 0, + "random_pools": { + "rand_crimson": ["crimson_nylium_side", "nether_wart_block", "netherrack"], + "rand_mid": ["netherrack", "magma", "nether_gold_ore"], + "rand_deep": ["blackstone", "gilded_blackstone"] + }, + "map": [ + ["rand_crimson", "air", "rand_crimson", "rand_crimson", "rand_crimson"], + ["rand_crimson", "rand_crimson", "tnt_side", "rand_crimson", "rand_crimson"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "barrel_250", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "exposed_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "air", "ender_chest_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "warped_forest", + "background_color": "#0A3A3A", + "max_level": 0, + "random_pools": { + "rand_warped": ["warped_nylium_side", "netherrack"], + "rand_mid": ["netherrack", "quartz_ore", "magma"], + "rand_deep": ["blackstone", "basalt_side", "ancient_debris_side"] + }, + "map": [ + ["rand_warped", "air", "rand_warped", "rand_warped", "rand_warped"], + ["rand_warped", "rand_warped", "tnt_side", "rand_warped", "rand_warped"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "barrel_250", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "weathered_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "air", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "badlands_mesa", + "background_color": "#8B4513", + "max_level": 0, + "random_pools": { + "rand_mesa": ["sand", "sandstone_normal", "coarse_dirt"], + "rand_stone": ["stone", "gold_ore", "iron_ore"], + "rand_deep": ["deepslate", "deepslate_gold_ore", "diamond_ore"] + }, + "map": [ + ["rand_mesa", "air", "rand_mesa", "rand_mesa", "rand_mesa"], + ["rand_mesa", "rand_mesa", "tnt_side", "rand_mesa", "rand_mesa"], + ["sandstone_normal", "sandstone_carved", "sandstone_smooth", "sandstone_normal", "sandstone_normal"], + ["rand_stone", "barrel_100", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "oxidized_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "lush_cave", + "background_color": "#2E4A2E", + "max_level": 0, + "random_pools": { + "rand_top": ["clay", "dirt_with_roots"], + "rand_moss": ["cobblestone_mossy", "stone", "emerald_ore"], + "rand_deep": ["deepslate", "deepslate_emerald_ore", "amethyst_block"] + }, + "map": [ + ["rand_top", "air", "rand_top", "rand_top", "rand_top"], + ["rand_top", "rand_top", "tnt_side", "rand_top", "rand_top"], + ["rand_moss", "rand_moss", "rand_moss", "rand_moss", "rand_moss"], + ["rand_moss", "barrel_100", "air", "rand_moss", "rand_moss"], + ["rand_moss", "rand_moss", "rand_moss", "rand_moss", "rand_moss"], + ["rand_moss", "exposed_copper_chest_inventory_front", "rand_moss", "rand_moss", "rand_moss"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "air", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "air", "chest_250", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "mushroom_island", + "background_color": "#A080A0", + "max_level": 0, + "random_pools": { + "rand_mush": ["mycelium_side", "dirt"], + "rand_stone": ["stone", "coal_ore", "iron_ore"], + "rand_deep": ["deepslate", "deepslate_diamond_ore", "deepslate_redstone_ore"] + }, + "map": [ + ["rand_mush", "air", "rand_mush", "rand_mush", "rand_mush"], + ["dirt", "dirt", "tnt_side", "dirt", "dirt"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "barrel_100", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "weathered_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bee_meadow", + "background_color": "#FFD700", + "max_level": 0, + "random_pools": { + "rand_top": ["grass", "bee_nest_front", "honey_side"], + "rand_stone": ["stone", "coal_ore", "copper_ore"], + "rand_deep": ["deepslate", "deepslate_emerald_ore", "deepslate_copper_ore"] + }, + "map": [ + ["rand_top", "air", "rand_top", "rand_top", "rand_top"], + ["dirt", "dirt", "tnt_side", "dirt", "dirt"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "barrel_50", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "oxidized_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_100", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + + { + "id": "industrial_zone", + "background_color": "#505050", + "max_level": 0, + "random_pools": { + "rand_metal": ["iron_block", "raw_iron_block", "andesite"], + "rand_stone": ["stone", "stonebrick", "tuff"], + "rand_deep": ["cobbled_deepslate", "deepslate", "deepslate_iron_ore"] + }, + "map": [ + ["iron_block", "air", "iron_block", "iron_block", "iron_block"], + ["raw_iron_block", "raw_iron_block", "tnt_side", "raw_iron_block", "raw_iron_block"], + ["rand_metal", "rand_metal", "rand_metal", "rand_metal", "rand_metal"], + ["rand_stone", "barrel_100", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "weathered_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "rainbow_wool_road", + "background_color": "#FFB6C1", + "max_level": 0, + "random_pools": { + "rand_warm": ["wool_colored_red", "wool_colored_orange", "wool_colored_yellow"], + "rand_cool": ["wool_colored_lime", "wool_colored_cyan", "wool_colored_blue"], + "rand_dark": ["wool_colored_purple", "wool_colored_magenta", "wool_colored_black"] + }, + "map": [ + ["rand_warm", "air", "rand_warm", "rand_warm", "rand_warm"], + ["rand_warm", "rand_warm", "tnt_side", "rand_warm", "rand_warm"], + ["rand_warm", "rand_warm", "rand_warm", "rand_warm", "rand_warm"], + ["rand_cool", "barrel_50", "air", "rand_cool", "rand_cool"], + ["rand_cool", "rand_cool", "rand_cool", "rand_cool", "rand_cool"], + ["rand_cool", "exposed_copper_chest_inventory_front", "rand_cool", "rand_cool", "rand_cool"], + ["wool_colored_white", "wool_colored_white", "wool_colored_white", "wool_colored_white", "wool_colored_white"], + ["rand_dark", "rand_dark", "rand_dark", "rand_dark", "rand_dark"], + ["rand_dark", "air", "rand_dark", "rand_dark", "rand_dark"], + ["rand_dark", "rand_dark", "barrel_100", "rand_dark", "rand_dark"], + ["rand_dark", "rand_dark", "rand_dark", "rand_dark", "rand_dark"], + ["rand_dark", "rand_dark", "rand_dark", "rand_dark", "rand_dark"], + ["air", "air", "air", "air", "air"], + ["air", "chest_100", "chest_250", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "scholar_sanctum", + "background_color": "#D2B48C", + "max_level": 0, + "random_pools": { + "rand_books": ["bookshelf", "chiseled_bookshelf_occupied", "crafting_table_front"], + "rand_stone": ["stonebrick", "stone", "cobblestone"], + "rand_deep": ["deepslate", "cobbled_deepslate"] + }, + "map": [ + ["rand_books", "air", "rand_books", "rand_books", "rand_books"], + ["rand_books", "rand_books", "tnt_side", "rand_books", "rand_books"], + ["rand_books", "rand_books", "rand_books", "rand_books", "rand_books"], + ["rand_stone", "barrel_250", "air", "rand_stone", "rand_stone"], + ["rand_stone", "rand_stone", "rand_stone", "rand_stone", "rand_stone"], + ["rand_stone", "oxidized_copper_chest_inventory_front", "rand_stone", "rand_stone", "rand_stone"], + ["stonebrick", "stonebrick", "stonebrick", "stonebrick", "stonebrick"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "air", "ender_chest_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "slime_honey_pit", + "background_color": "#98FB98", + "max_level": 0, + "random_pools": { + "rand_sticky": ["slime", "honey_side"], + "rand_mid": ["clay", "stone", "gold_ore"], + "rand_deep": ["deepslate", "deepslate_gold_ore"] + }, + "map": [ + ["rand_sticky", "air", "rand_sticky", "rand_sticky", "rand_sticky"], + ["rand_sticky", "rand_sticky", "tnt_side", "rand_sticky", "rand_sticky"], + ["rand_sticky", "rand_sticky", "rand_sticky", "rand_sticky", "rand_sticky"], + ["rand_mid", "barrel_100", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "weathered_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["clay", "clay", "clay", "clay", "clay"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_250", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "gemstone_grotto", + "background_color": "#E0FFFF", + "max_level": 0, + "random_pools": { + "rand_gem": ["diamond_block", "emerald_block", "lapis_block"], + "rand_mid": ["diamond_ore", "emerald_ore", "stone"], + "rand_deep": ["deepslate_diamond_ore", "deepslate_emerald_ore", "deepslate"] + }, + "map": [ + ["rand_gem", "air", "rand_gem", "rand_gem", "rand_gem"], + ["rand_gem", "rand_gem", "tnt_side", "rand_gem", "rand_gem"], + ["rand_gem", "rand_gem", "rand_gem", "rand_gem", "rand_gem"], + ["rand_mid", "barrel_250", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "exposed_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "ender_chest_front", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "volcanic_ash", + "background_color": "#2F4F4F", + "max_level": 0, + "random_pools": { + "rand_ash": ["basalt_side", "magma", "tuff"], + "rand_mid": ["tuff", "coal_ore", "stone"], + "rand_deep": ["blackstone", "ancient_debris_side", "obsidian"] + }, + "map": [ + ["rand_ash", "air", "rand_ash", "rand_ash", "rand_ash"], + ["rand_ash", "rand_ash", "tnt_side", "rand_ash", "rand_ash"], + ["rand_ash", "rand_ash", "rand_ash", "rand_ash", "rand_ash"], + ["rand_mid", "barrel_100", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "oxidized_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["tuff", "tuff", "tuff", "tuff", "tuff"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "air", "chest_500", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "ruined_citadel", + "background_color": "#708090", + "max_level": 0, + "random_pools": { + "rand_ruin": ["stonebrick", "cobblestone_mossy", "cobblestone"], + "rand_mid": ["stone", "andesite", "iron_ore"], + "rand_deep": ["deepslate", "cobbled_deepslate", "deepslate_iron_ore"] + }, + "map": [ + ["rand_ruin", "air", "rand_ruin", "rand_ruin", "rand_ruin"], + ["rand_ruin", "rand_ruin", "tnt_side", "rand_ruin", "rand_ruin"], + ["rand_ruin", "rand_ruin", "rand_ruin", "rand_ruin", "rand_ruin"], + ["rand_mid", "barrel_50", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "weathered_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_100", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_100", "chest_250", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "netherite_factory", + "background_color": "#3B3B3B", + "max_level": 0, + "random_pools": { + "rand_hard": ["ancient_debris_side", "netherite_block", "obsidian"], + "rand_mid": ["blackstone", "gilded_blackstone", "basalt_side"], + "rand_deep": ["reinforced_deepslate_side", "obsidian", "crying_obsidian"] + }, + "map": [ + ["rand_hard", "air", "rand_hard", "rand_hard", "rand_hard"], + ["rand_hard", "rand_hard", "tnt_side", "rand_hard", "rand_hard"], + ["rand_hard", "rand_hard", "rand_hard", "rand_hard", "rand_hard"], + ["rand_mid", "barrel_500", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "oxidized_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["blackstone", "blackstone", "blackstone", "blackstone", "blackstone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_500", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "ender_chest_front", "air", "ender_chest_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "obsidian_mirage", + "background_color": "#1A0033", + "max_level": 0, + "random_pools": { + "rand_obsidian": ["obsidian", "crying_obsidian", "glowing_obsidian"], + "rand_mid": ["amethyst_block", "calcite", "diorite"], + "rand_deep": ["deepslate", "cobbled_deepslate", "obsidian"] + }, + "map": [ + ["rand_obsidian", "air", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "tnt_side", "rand_obsidian", "rand_obsidian"], + ["rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian", "rand_obsidian"], + ["rand_mid", "barrel_250", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "exposed_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["calcite", "calcite", "calcite", "calcite", "calcite"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "chest_250", "chest_500", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "copper_machinery", + "background_color": "#CD7F32", + "max_level": 0, + "random_pools": { + "rand_cop": ["copper_block", "exposed_copper", "raw_copper_block"], + "rand_mid": ["weathered_copper", "oxidized_copper", "stone"], + "rand_deep": ["deepslate", "deepslate_copper_ore", "deepslate_redstone_ore"] + }, + "map": [ + ["rand_cop", "air", "rand_cop", "rand_cop", "rand_cop"], + ["rand_cop", "rand_cop", "tnt_side", "rand_cop", "rand_cop"], + ["rand_cop", "rand_cop", "rand_cop", "rand_cop", "rand_cop"], + ["rand_mid", "barrel_100", "air", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "weathered_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["stone", "stone", "stone", "stone", "stone"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "air", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "barrel_250", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["rand_deep", "rand_deep", "rand_deep", "rand_deep", "rand_deep"], + ["air", "air", "air", "air", "air"], + ["air", "copper_chest_inventory_front", "chest_250", "air", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "chaos_realm", + "background_color": "#FF00FF", + "max_level": 0, + "random_pools": { + "rand_chaos1": ["wool_colored_magenta", "slime", "diamond_block", "magma", "bookshelf"], + "rand_chaos2": ["tuff", "end_stone", "crafting_table_front", "nether_wart_block", "honey_side"], + "rand_chaos3": ["gilded_blackstone", "raw_gold_block", "ice_packed", "suspicious_sand", "emerald_block"] + }, + "map": [ + ["rand_chaos1", "air", "rand_chaos1", "rand_chaos2", "rand_chaos3"], + ["rand_chaos3", "rand_chaos2", "tnt_side", "rand_chaos1", "rand_chaos2"], + ["rand_chaos2", "rand_chaos1", "rand_chaos3", "rand_chaos3", "rand_chaos1"], + ["rand_chaos1", "barrel_250", "air", "rand_chaos2", "rand_chaos3"], + ["rand_chaos3", "rand_chaos3", "rand_chaos1", "rand_chaos2", "rand_chaos1"], + ["rand_chaos2", "oxidized_copper_chest_inventory_front", "rand_chaos3", "rand_chaos1", "rand_chaos2"], + ["rand_chaos1", "rand_chaos2", "rand_chaos3", "rand_chaos1", "rand_chaos2"], + ["rand_chaos3", "rand_chaos1", "rand_chaos2", "rand_chaos3", "rand_chaos1"], + ["rand_chaos2", "air", "rand_chaos1", "rand_chaos3", "rand_chaos2"], + ["rand_chaos1", "rand_chaos3", "barrel_500", "rand_chaos2", "rand_chaos1"], + ["rand_chaos3", "rand_chaos2", "rand_chaos1", "rand_chaos3", "rand_chaos2"], + ["rand_chaos2", "rand_chaos1", "rand_chaos3", "rand_chaos1", "rand_chaos2"], + ["air", "air", "air", "air", "air"], + ["air", "chest_500", "chest_100", "ender_chest_front", "air"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + + { + "id": "bonus_overworld_ores", + "background_color": "#FFD700", + "max_level": 0, + "random_pools": { + "rand_low": ["coal_ore", "copper_ore", "iron_ore"], + "rand_mid": ["gold_ore", "lapis_ore", "redstone_ore"], + "rand_high": ["diamond_ore", "emerald_ore"] + }, + "map": [ + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_low", "rand_low", "tnt_side", "rand_low", "rand_low"], + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_mid", "barrel_100", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "barrel_250", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["air", "air", "air", "air", "air"], + ["chest_250", "chest_500", "chest_500", "chest_500", "chest_250"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bonus_deepslate_riches", + "background_color": "#B8860B", + "max_level": 0, + "random_pools": { + "rand_low": ["deepslate_coal_ore", "deepslate_copper_ore", "deepslate_iron_ore"], + "rand_mid": ["deepslate_gold_ore", "deepslate_lapis_ore", "deepslate_redstone_ore"], + "rand_high": ["deepslate_diamond_ore", "deepslate_emerald_ore"] + }, + "map": [ + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_low", "rand_low", "tnt_side", "rand_low", "rand_low"], + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_mid", "barrel_250", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "exposed_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "barrel_500", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["air", "air", "air", "air", "air"], + ["chest_500", "ender_chest_front", "chest_500", "ender_chest_front", "chest_500"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bonus_nether_vault", + "background_color": "#FF4500", + "max_level": 0, + "random_pools": { + "rand_low": ["nether_gold_ore", "quartz_ore", "sulfur"], + "rand_mid": ["glowstone", "gilded_blackstone"], + "rand_high": ["ancient_debris_side"] + }, + "map": [ + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_low", "rand_low", "tnt_side", "rand_low", "rand_low"], + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_mid", "barrel_250", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "weathered_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "barrel_500", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["air", "air", "air", "air", "air"], + ["ender_chest_front", "chest_500", "ender_chest_front", "chest_500", "ender_chest_front"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bonus_raw_metal_stash", + "background_color": "#DAA520", + "max_level": 0, + "random_pools": { + "rand_cop": ["raw_copper_block", "amethyst_block"], + "rand_iron": ["raw_iron_block"], + "rand_gold": ["raw_gold_block"] + }, + "map": [ + ["rand_cop", "rand_cop", "rand_cop", "rand_cop", "rand_cop"], + ["rand_cop", "rand_cop", "tnt_side", "rand_cop", "rand_cop"], + ["rand_cop", "rand_cop", "rand_cop", "rand_cop", "rand_cop"], + ["rand_iron", "barrel_100", "rand_iron", "rand_iron", "rand_iron"], + ["rand_iron", "rand_iron", "rand_iron", "rand_iron", "rand_iron"], + ["rand_iron", "oxidized_copper_chest_inventory_front", "rand_iron", "rand_iron", "rand_iron"], + ["rand_iron", "rand_iron", "rand_iron", "rand_iron", "rand_iron"], + ["rand_gold", "rand_gold", "rand_gold", "rand_gold", "rand_gold"], + ["rand_gold", "rand_gold", "rand_gold", "rand_gold", "rand_gold"], + ["rand_gold", "rand_gold", "barrel_250", "rand_gold", "rand_gold"], + ["rand_gold", "rand_gold", "rand_gold", "rand_gold", "rand_gold"], + ["rand_gold", "rand_gold", "rand_gold", "rand_gold", "rand_gold"], + ["air", "air", "air", "air", "air"], + ["chest_250", "copper_chest_inventory_front", "chest_500", "copper_chest_inventory_front", "chest_250"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bonus_honey_library", + "background_color": "#FFA500", + "max_level": 0, + "random_pools": { + "rand_nest": ["bee_nest_front", "beehive_front"], + "rand_honey": ["bee_nest_front_honey", "beehive_front_honey"], + "rand_books": ["bookshelf", "chiseled_bookshelf_occupied"] + }, + "map": [ + ["rand_nest", "rand_nest", "rand_nest", "rand_nest", "rand_nest"], + ["rand_nest", "rand_nest", "tnt_side", "rand_nest", "rand_nest"], + ["rand_nest", "rand_nest", "rand_nest", "rand_nest", "rand_nest"], + ["rand_honey", "barrel_250", "rand_honey", "rand_honey", "rand_honey"], + ["rand_honey", "rand_honey", "rand_honey", "rand_honey", "rand_honey"], + ["rand_honey", "exposed_copper_chest_inventory_front", "rand_honey", "rand_honey", "rand_honey"], + ["rand_honey", "rand_honey", "rand_honey", "rand_honey", "rand_honey"], + ["rand_books", "rand_books", "rand_books", "rand_books", "rand_books"], + ["rand_books", "rand_books", "rand_books", "rand_books", "rand_books"], + ["rand_books", "rand_books", "barrel_250", "rand_books", "rand_books"], + ["rand_books", "rand_books", "rand_books", "rand_books", "rand_books"], + ["rand_books", "rand_books", "rand_books", "rand_books", "rand_books"], + ["air", "air", "air", "air", "air"], + ["chest_500", "chest_250", "chest_500", "chest_250", "chest_500"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + }, + { + "id": "bonus_admin_secret", + "background_color": "#8A2BE2", + "max_level": 0, + "random_pools": { + "rand_low": ["deepslate_emerald_ore", "ancient_debris_side"], + "rand_mid": ["ender_chest_front"], + "rand_high": ["command_block_back_mipmap"] + }, + "map": [ + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_low", "rand_low", "tnt_side", "rand_low", "rand_low"], + ["rand_low", "rand_low", "rand_low", "rand_low", "rand_low"], + ["rand_mid", "barrel_500", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "oxidized_copper_chest_inventory_front", "rand_mid", "rand_mid", "rand_mid"], + ["rand_mid", "rand_mid", "rand_mid", "rand_mid", "rand_mid"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "barrel_500", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["rand_high", "rand_high", "rand_high", "rand_high", "rand_high"], + ["air", "air", "air", "air", "air"], + ["ender_chest_front", "ender_chest_front", "ender_chest_front", "ender_chest_front", "ender_chest_front"], + ["bedrock", "bedrock", "bedrock", "bedrock", "bedrock"] + ] + } + ] +} diff --git a/public/games/doge_rescue/assets/bee.png b/public/games/doge_rescue/assets/bee.png new file mode 100644 index 0000000..bcc2caa Binary files /dev/null and b/public/games/doge_rescue/assets/bee.png differ diff --git a/public/games/doge_rescue/assets/bee_nest.png b/public/games/doge_rescue/assets/bee_nest.png new file mode 100644 index 0000000..429fe06 Binary files /dev/null and b/public/games/doge_rescue/assets/bee_nest.png differ diff --git a/public/games/doge_rescue/assets/dirt.png b/public/games/doge_rescue/assets/dirt.png new file mode 100644 index 0000000..2af9958 Binary files /dev/null and b/public/games/doge_rescue/assets/dirt.png differ diff --git a/public/games/doge_rescue/assets/dog.png b/public/games/doge_rescue/assets/dog.png new file mode 100644 index 0000000..eeed12d Binary files /dev/null and b/public/games/doge_rescue/assets/dog.png differ diff --git a/public/games/doge_rescue/assets/grass.png b/public/games/doge_rescue/assets/grass.png new file mode 100644 index 0000000..30663bf Binary files /dev/null and b/public/games/doge_rescue/assets/grass.png differ diff --git a/public/games/doge_rescue/data/blocks.json b/public/games/doge_rescue/data/blocks.json new file mode 100644 index 0000000..be46fc5 --- /dev/null +++ b/public/games/doge_rescue/data/blocks.json @@ -0,0 +1,22 @@ +{ + "dirt": { + "src": "games/doge_rescue/assets/dirt.png", + "solid": true + }, + "grass": { + "src": "games/doge_rescue/assets/grass.png", + "solid": true + }, + "bee_nest": { + "src": "games/doge_rescue/assets/bee_nest.png", + "solid": true, + "spawn": "bees" + }, + "doge_spawn": { + "solid": false, + "spawn": "doge" + }, + "air": { + "solid": false + } +} diff --git a/public/games/doge_rescue/data/levels.json b/public/games/doge_rescue/data/levels.json new file mode 100644 index 0000000..8d3bf2e --- /dev/null +++ b/public/games/doge_rescue/data/levels.json @@ -0,0 +1,690 @@ +{ + "levels": [ + { + "id": "level_1", + "duration": 5, + "beesCount": 5, + "tintLimit": 1500, + "brutality": { "maxSpeed": 8, "force": 0.01 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "bee_nest", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_2", + "duration": 8, + "beesCount": 8, + "tintLimit": 1200, + "brutality": { "maxSpeed": 10, "force": 0.01 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "air", "air", "air", "air", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "air", "air", "doge_spawn", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "grass", "grass", "grass", "grass", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_3", + "duration": 10, + "beesCount": 10, + "tintLimit": 1000, + "brutality": { "maxSpeed": 12, "force": 0.012 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "grass", "grass", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "grass", "grass", "dirt", "dirt", "grass", "grass", "dirt", "dirt"] + ] + }, + { + "id": "level_4", + "duration": 10, + "beesCount": 12, + "tintLimit": 1000, + "brutality": { "maxSpeed": 12, "force": 0.012 }, + "map": [ + ["air", "air", "air", "air", "bee_nest", "bee_nest", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "grass"], + ["dirt", "grass", "air", "grass", "grass", "grass", "grass", "air", "grass", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_5", + "duration": 12, + "beesCount": 15, + "tintLimit": 1000, + "brutality": { "maxSpeed": 14, "force": 0.015 }, + "map": [ + ["bee_nest", "air", "air", "air", "bee_nest", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "grass", "grass", "air", "air", "grass", "grass", "air", "air"], + ["air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air"], + ["grass", "air", "dirt", "dirt", "air", "air", "dirt", "dirt", "air", "grass"], + ["dirt", "air", "dirt", "dirt", "doge_spawn", "air", "dirt", "dirt", "air", "dirt"], + ["dirt", "grass", "dirt", "dirt", "grass", "grass", "dirt", "dirt", "grass", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_6", + "duration": 12, + "beesCount": 18, + "tintLimit": 1000, + "brutality": { "maxSpeed": 14, "force": 0.015 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "bee_nest", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "grass", "grass", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "grass", "grass", "dirt", "dirt", "grass", "grass", "air", "air"], + ["air", "air", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "air", "air"], + ["grass", "grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_7", + "duration": 15, + "beesCount": 20, + "tintLimit": 1000, + "brutality": { "maxSpeed": 16, "force": 0.018 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "air", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "air", "air", "air", "air", "dirt", "dirt"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "grass", "grass", "grass", "grass", "air", "grass", "grass"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"] + ] + }, + { + "id": "level_8", + "duration": 15, + "beesCount": 22, + "tintLimit": 1000, + "brutality": { "maxSpeed": 16, "force": 0.018 }, + "map": [ + ["grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["bee_nest", "air", "air", "air", "bee_nest", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_9", + "duration": 18, + "beesCount": 25, + "tintLimit": 1100, + "brutality": { "maxSpeed": 18, "force": 0.02 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "grass", "dirt"], + ["air", "air", "air", "air", "air", "air", "air", "grass", "dirt", "dirt"], + ["air", "air", "air", "air", "air", "air", "grass", "dirt", "dirt", "dirt"], + ["bee_nest", "air", "air", "air", "air", "grass", "dirt", "dirt", "dirt", "dirt"], + ["air", "air", "air", "air", "doge_spawn", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["air", "air", "air", "grass", "grass", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["air", "air", "grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["air", "grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"], + ["grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_10", + "duration": 18, + "beesCount": 28, + "tintLimit": 1100, + "brutality": { "maxSpeed": 20, "force": 0.02 }, + "map": [ + ["bee_nest", "air", "air", "air", "bee_nest", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "grass", "grass", "air", "air", "air", "air", "grass", "grass", "air"], + ["air", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "air"], + ["air", "dirt", "dirt", "air", "doge_spawn", "air", "air", "dirt", "dirt", "air"], + ["air", "dirt", "dirt", "air", "grass", "grass", "air", "dirt", "dirt", "air"], + ["air", "dirt", "dirt", "air", "dirt", "dirt", "air", "dirt", "dirt", "air"], + ["grass", "dirt", "dirt", "grass", "dirt", "dirt", "grass", "dirt", "dirt", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_11", + "duration": 20, + "beesCount": 30, + "tintLimit": 1200, + "brutality": { "maxSpeed": 22, "force": 0.022 }, + "map": [ + ["air", "bee_nest", "air", "air", "bee_nest", "air", "air", "bee_nest", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "grass", "grass", "grass", "grass", "air", "grass", "grass"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "doge_spawn", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "grass", "grass", "grass", "grass", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "dirt", "dirt", "dirt", "dirt", "air", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_12", + "duration": 20, + "beesCount": 35, + "tintLimit": 1200, + "brutality": { "maxSpeed": 25, "force": 0.025 }, + "map": [ + ["bee_nest", "air", "bee_nest", "air", "air", "air", "air", "bee_nest", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "air", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "doge_spawn", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "grass", "grass", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "grass", "grass", "dirt", "dirt", "grass", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + + { + "id": "level_1_fast", + "duration": 4, + "beesCount": 3, + "tintLimit": 2500, + "brutality": { "maxSpeed": 18, "force": 0.002 }, + "map": [ + ["air", "air", "air", "air", "bee_nest", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_2_fast", + "duration": 5, + "beesCount": 4, + "tintLimit": 2800, + "brutality": { "maxSpeed": 20, "force": 0.001 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "grass"], + ["dirt", "grass", "air", "air", "air", "air", "air", "air", "grass", "dirt"], + ["dirt", "dirt", "grass", "grass", "grass", "grass", "grass", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_3_fast", + "duration": 5, + "beesCount": 3, + "tintLimit": 2200, + "brutality": { "maxSpeed": 17, "force": 0.002 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "doge_spawn", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "grass", "air", "air", "air", "air", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "grass", "grass", "grass", "grass", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_4_fast", + "duration": 6, + "beesCount": 5, + "tintLimit": 3000, + "brutality": { "maxSpeed": 19, "force": 0.003 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "bee_nest", "air"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "grass", "grass", "grass", "grass", "air", "air", "air"], + ["air", "air", "grass", "dirt", "dirt", "dirt", "dirt", "grass", "air", "air"], + ["air", "grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "grass", "air"], + ["grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "grass"] + ] + }, + { + "id": "level_5_fast", + "duration": 4, + "beesCount": 2, + "tintLimit": 2400, + "brutality": { "maxSpeed": 16, "force": 0.001 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "bee_nest", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "doge_spawn", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "grass", "grass", "grass", "grass", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_6_fast", + "duration": 7, + "beesCount": 4, + "tintLimit": 2600, + "brutality": { "maxSpeed": 18, "force": 0.002 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "grass", "grass", "grass", "grass", "air", "air", "grass"], + ["dirt", "grass", "grass", "dirt", "dirt", "dirt", "dirt", "grass", "grass", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_7_slow", + "duration": 4, + "beesCount": 3, + "tintLimit": 2500, + "brutality": { "maxSpeed": 4, "force": 0.002 }, + "map": [ + ["air", "air", "air", "air", "bee_nest", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_8_slow", + "duration": 5, + "beesCount": 4, + "tintLimit": 2800, + "brutality": { "maxSpeed": 3, "force": 0.001 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "grass"], + ["dirt", "grass", "air", "air", "air", "air", "air", "air", "grass", "dirt"], + ["dirt", "dirt", "grass", "grass", "grass", "grass", "grass", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_9_slow", + "duration": 5, + "beesCount": 3, + "tintLimit": 2200, + "brutality": { "maxSpeed": 5, "force": 0.002 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "doge_spawn", "air", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "grass", "air", "air", "air", "air", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "grass", "grass", "grass", "grass", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_10_slow", + "duration": 6, + "beesCount": 5, + "tintLimit": 3000, + "brutality": { "maxSpeed": 4, "force": 0.003 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "bee_nest", "air"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "grass", "grass", "grass", "grass", "air", "air", "air"], + ["air", "air", "grass", "dirt", "dirt", "dirt", "dirt", "grass", "air", "air"], + ["air", "grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "grass", "air"], + ["grass", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "grass"] + ] + }, + { + "id": "level_11_slow", + "duration": 4, + "beesCount": 2, + "tintLimit": 2400, + "brutality": { "maxSpeed": 3, "force": 0.001 }, + "map": [ + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "bee_nest", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "doge_spawn", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "air", "air", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "grass", "grass", "grass", "grass", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_12_slow", + "duration": 7, + "beesCount": 4, + "tintLimit": 2600, + "brutality": { "maxSpeed": 4, "force": 0.002 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "grass", "grass", "grass", "grass", "air", "air", "grass"], + ["dirt", "grass", "grass", "dirt", "dirt", "dirt", "dirt", "grass", "grass", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + + { + "id": "level_1_hard_fast", + "duration": 10, + "beesCount": 40, + "tintLimit": 800, + "brutality": { "maxSpeed": 28, "force": 0.08 }, + "map": [ + ["bee_nest", "air", "air", "bee_nest", "air", "air", "bee_nest", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "grass", "grass", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"] + ] + }, + { + "id": "level_2_hard_fast", + "duration": 12, + "beesCount": 45, + "tintLimit": 750, + "brutality": { "maxSpeed": 30, "force": 0.09 }, + "map": [ + ["air", "air", "air", "air", "bee_nest", "bee_nest", "air", "air", "air", "air"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "bee_nest", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "grass", "grass", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"] + ] + }, + { + "id": "level_3_hard_fast", + "duration": 15, + "beesCount": 50, + "tintLimit": 700, + "brutality": { "maxSpeed": 30, "force": 0.1 }, + "map": [ + ["bee_nest", "bee_nest", "air", "air", "air", "air", "air", "air", "bee_nest", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "air", "air", "air", "air", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "doge_spawn", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_4_hard_fast", + "duration": 10, + "beesCount": 40, + "tintLimit": 650, + "brutality": { "maxSpeed": 28, "force": 0.08 }, + "map": [ + ["air", "bee_nest", "air", "bee_nest", "air", "bee_nest", "air", "bee_nest", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "air", "air", "air", "air", "air", "air", "grass"], + ["dirt", "grass", "air", "air", "doge_spawn", "air", "air", "air", "grass", "dirt"], + ["dirt", "dirt", "grass", "air", "air", "air", "air", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "grass", "air", "air", "grass", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "grass", "grass", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_5_hard_fast", + "duration": 12, + "beesCount": 45, + "tintLimit": 600, + "brutality": { "maxSpeed": 30, "force": 0.09 }, + "map": [ + ["bee_nest", "bee_nest", "bee_nest", "air", "air", "air", "air", "bee_nest", "bee_nest", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "grass", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "dirt", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_6_hard_fast", + "duration": 15, + "beesCount": 50, + "tintLimit": 550, + "brutality": { "maxSpeed": 30, "force": 0.1 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "air", "grass", "grass", "air", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "air", "dirt", "dirt", "air", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_7_hard_normal", + "duration": 10, + "beesCount": 40, + "tintLimit": 800, + "brutality": { "maxSpeed": 12, "force": 0.08 }, + "map": [ + ["bee_nest", "air", "air", "bee_nest", "air", "air", "bee_nest", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "air", "air", "grass", "grass", "air", "air", "grass", "grass"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"], + ["dirt", "dirt", "air", "air", "dirt", "dirt", "air", "air", "dirt", "dirt"] + ] + }, + { + "id": "level_8_hard_normal", + "duration": 12, + "beesCount": 45, + "tintLimit": 750, + "brutality": { "maxSpeed": 14, "force": 0.09 }, + "map": [ + ["air", "air", "air", "air", "bee_nest", "bee_nest", "air", "air", "air", "air"], + ["air", "bee_nest", "air", "air", "air", "air", "air", "air", "bee_nest", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "grass", "grass", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "dirt", "air", "air", "air", "air"] + ] + }, + { + "id": "level_9_hard_normal", + "duration": 15, + "beesCount": 50, + "tintLimit": 700, + "brutality": { "maxSpeed": 15, "force": 0.1 }, + "map": [ + ["bee_nest", "bee_nest", "air", "air", "air", "air", "air", "air", "bee_nest", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "air", "air", "air", "air", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "doge_spawn", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "air", "air", "air", "air", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_10_hard_normal", + "duration": 10, + "beesCount": 40, + "tintLimit": 650, + "brutality": { "maxSpeed": 12, "force": 0.08 }, + "map": [ + ["air", "bee_nest", "air", "bee_nest", "air", "bee_nest", "air", "bee_nest", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["grass", "air", "air", "air", "air", "air", "air", "air", "air", "grass"], + ["dirt", "grass", "air", "air", "doge_spawn", "air", "air", "air", "grass", "dirt"], + ["dirt", "dirt", "grass", "air", "air", "air", "air", "grass", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "grass", "air", "air", "grass", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "grass", "grass", "dirt", "dirt", "dirt", "dirt"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_11_hard_normal", + "duration": 12, + "beesCount": 45, + "tintLimit": 600, + "brutality": { "maxSpeed": 14, "force": 0.09 }, + "map": [ + ["bee_nest", "bee_nest", "bee_nest", "air", "air", "air", "air", "bee_nest", "bee_nest", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "grass", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "dirt", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "grass", "dirt", "grass", "grass", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt", "dirt"] + ] + }, + { + "id": "level_12_hard_normal", + "duration": 15, + "beesCount": 50, + "tintLimit": 550, + "brutality": { "maxSpeed": 15, "force": 0.1 }, + "map": [ + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["bee_nest", "air", "air", "air", "air", "air", "air", "air", "air", "bee_nest"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "air", "air", "air", "air", "air", "air"], + ["air", "air", "air", "air", "doge_spawn", "air", "air", "air", "air", "air"], + ["grass", "grass", "grass", "air", "grass", "grass", "air", "grass", "grass", "grass"], + ["dirt", "dirt", "dirt", "air", "dirt", "dirt", "air", "dirt", "dirt", "dirt"] + ] + } + ] +} diff --git a/public/games/flappy_dunk/data/levels.json b/public/games/flappy_dunk/data/levels.json new file mode 100644 index 0000000..a849a23 --- /dev/null +++ b/public/games/flappy_dunk/data/levels.json @@ -0,0 +1,704 @@ +[ + { + "id": "level_1", + "levelSpeed": 4, + "baskestsCount": 0, + "basketSize": 110, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 3, + "basketColor": "rgba(156, 39, 176, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 18, + "ballColor": "rgba(230, 81, 0, 1)", + "ballLinesColor": "rgba(51, 51, 51, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(135, 206, 235, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "pentagons" + }, + { + "id": "level_2_serpent", + "levelSpeed": 5, + "baskestsCount": 0, + "basketSize": 120, + "basketInclinationGrades": 20, + "basketInclinationType": "serpent", + "basketSeparation": 2.5, + "basketColor": "rgba(255, 87, 34, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 20, + "ballColor": "rgba(76, 175, 80, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 235, 59, 1)", + "bgColor": "rgba(33, 33, 33, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.05)", + "bgFigure": "stars" + }, + { + "id": "level_3_infinite", + "levelSpeed": 6, + "baskestsCount": 0, + "basketSize": 90, + "basketInclinationGrades": 30, + "basketInclinationType": "random", + "basketSeparation": 3.5, + "basketColor": "rgba(0, 188, 212, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.2)", + "ballSize": 16, + "ballColor": "rgba(255, 193, 7, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(33, 150, 243, 1)", + "bgColor": "rgba(63, 81, 181, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "triangles" + }, + { + "id": "level_4_test", + "levelSpeed": 5, + "baskestsCount": 3, + "basketSize": 300, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 4, + "basketColor": "rgba(0, 188, 212, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.2)", + "ballSize": 16, + "ballColor": "rgba(255, 193, 7, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(33, 150, 243, 1)", + "bgColor": "rgba(63, 81, 181, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "squares" + }, + { + "id": "level_5", + "levelSpeed": 4, + "baskestsCount": 10, + "basketSize": 100, + "basketInclinationGrades": 15, + "basketInclinationType": "aligned", + "basketSeparation": 3.2, + "basketColor": "rgba(233, 30, 99, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 15, + "ballColor": "rgba(139, 195, 74, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(0, 188, 212, 1)", + "bgColor": "rgba(33, 33, 33, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.05)", + "bgFigure": "hexagons" + }, + { + "id": "level_6", + "levelSpeed": 5, + "baskestsCount": 15, + "basketSize": 115, + "basketInclinationGrades": 25, + "basketInclinationType": "serpent", + "basketSeparation": 2.8, + "basketColor": "rgba(255, 152, 0, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.3)", + "ballSize": 18, + "ballColor": "rgba(63, 81, 181, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 235, 59, 1)", + "bgColor": "rgba(244, 67, 54, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "diamonds" + }, + { + "id": "level_7", + "levelSpeed": 6, + "baskestsCount": 20, + "basketSize": 95, + "basketInclinationGrades": 35, + "basketInclinationType": "random", + "basketSeparation": 4.0, + "basketColor": "rgba(103, 58, 183, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 14, + "ballColor": "rgba(205, 220, 57, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 87, 34, 1)", + "bgColor": "rgba(0, 150, 136, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.15)", + "bgFigure": "stars" + }, + { + "id": "level_8_infinite", + "levelSpeed": 7, + "baskestsCount": 0, + "basketSize": 85, + "basketInclinationGrades": 45, + "basketInclinationType": "serpent", + "basketSeparation": 3.5, + "basketColor": "rgba(76, 175, 80, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.5)", + "ballSize": 16, + "ballColor": "rgba(244, 67, 54, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(33, 33, 33, 1)", + "bgColor": "rgba(255, 235, 59, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.2)", + "bgFigure": "triangles" + }, + { + "id": "level_9", + "levelSpeed": 4, + "baskestsCount": 12, + "basketSize": 130, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 4.5, + "basketColor": "rgba(0, 0, 0, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.6)", + "ballSize": 22, + "ballColor": "rgba(255, 255, 255, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(158, 158, 158, 1)", + "bgColor": "rgba(96, 125, 139, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "none" + }, + { + "id": "level_10", + "levelSpeed": 8, + "baskestsCount": 30, + "basketSize": 80, + "basketInclinationGrades": 40, + "basketInclinationType": "random", + "basketSeparation": 2.5, + "basketColor": "rgba(255, 193, 7, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.2)", + "ballSize": 12, + "ballColor": "rgba(156, 39, 176, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(233, 30, 99, 1)", + "bgColor": "rgba(0, 0, 0, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.05)", + "bgFigure": "squares" + }, + { + "id": "level_11", + "levelSpeed": 5, + "baskestsCount": 18, + "basketSize": 105, + "basketInclinationGrades": 10, + "basketInclinationType": "serpent", + "basketSeparation": 3.0, + "basketColor": "rgba(33, 150, 243, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 18, + "ballColor": "rgba(255, 87, 34, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(205, 220, 57, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "pentagons" + }, + { + "id": "level_12_infinite", + "levelSpeed": 6, + "baskestsCount": 0, + "basketSize": 110, + "basketInclinationGrades": 15, + "basketInclinationType": "aligned", + "basketSeparation": 3.8, + "basketColor": "rgba(121, 85, 72, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 17, + "ballColor": "rgba(0, 188, 212, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(76, 175, 80, 1)", + "bgColor": "rgba(255, 235, 59, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.15)", + "bgFigure": "hexagons" + }, + { + "id": "level_13", + "levelSpeed": 7, + "baskestsCount": 25, + "basketSize": 90, + "basketInclinationGrades": 30, + "basketInclinationType": "random", + "basketSeparation": 2.2, + "basketColor": "rgba(0, 150, 136, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.4)", + "ballSize": 14, + "ballColor": "rgba(233, 30, 99, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 193, 7, 1)", + "bgColor": "rgba(156, 39, 176, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.2)", + "bgFigure": "diamonds" + }, + { + "id": "level_14", + "levelSpeed": 5, + "baskestsCount": 14, + "basketSize": 125, + "basketInclinationGrades": 5, + "basketInclinationType": "serpent", + "basketSeparation": 4.2, + "basketColor": "rgba(158, 158, 158, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.2)", + "ballSize": 20, + "ballColor": "rgba(33, 33, 33, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(244, 67, 54, 1)", + "bgColor": "rgba(238, 238, 238, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "none" + }, + { + "id": "level_15", + "levelSpeed": 9, + "baskestsCount": 40, + "basketSize": 75, + "basketInclinationGrades": 45, + "basketInclinationType": "random", + "basketSeparation": 3.5, + "basketColor": "rgba(244, 67, 54, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 13, + "ballColor": "rgba(255, 235, 59, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(33, 150, 243, 1)", + "bgColor": "rgba(103, 58, 183, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "stars" + }, + { + "id": "level_16_infinite", + "levelSpeed": 4, + "baskestsCount": 0, + "basketSize": 140, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 5.0, + "basketColor": "rgba(205, 220, 57, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.3)", + "ballSize": 24, + "ballColor": "rgba(103, 58, 183, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(0, 188, 212, 1)", + "bgColor": "rgba(121, 85, 72, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.05)", + "bgFigure": "squares" + }, + { + "id": "level_17", + "levelSpeed": 6, + "baskestsCount": 22, + "basketSize": 95, + "basketInclinationGrades": 20, + "basketInclinationType": "serpent", + "basketSeparation": 2.8, + "basketColor": "rgba(233, 30, 99, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 16, + "ballColor": "rgba(0, 150, 136, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 152, 0, 1)", + "bgColor": "rgba(33, 33, 33, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "triangles" + }, + { + "id": "level_18", + "levelSpeed": 7, + "baskestsCount": 28, + "basketSize": 85, + "basketInclinationGrades": 35, + "basketInclinationType": "aligned", + "basketSeparation": 3.0, + "basketColor": "rgba(255, 87, 34, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.4)", + "ballSize": 15, + "ballColor": "rgba(139, 195, 74, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(33, 150, 243, 1)", + "bgColor": "rgba(255, 235, 59, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.15)", + "bgFigure": "pentagons" + }, + { + "id": "level_19", + "levelSpeed": 8, + "baskestsCount": 35, + "basketSize": 78, + "basketInclinationGrades": 42, + "basketInclinationType": "random", + "basketSeparation": 2.4, + "basketColor": "rgba(0, 188, 212, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 14, + "ballColor": "rgba(244, 67, 54, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 193, 7, 1)", + "bgColor": "rgba(96, 125, 139, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "hexagons" + }, + { + "id": "level_20_infinite", + "levelSpeed": 5, + "baskestsCount": 0, + "basketSize": 115, + "basketInclinationGrades": 10, + "basketInclinationType": "serpent", + "basketSeparation": 3.5, + "basketColor": "rgba(103, 58, 183, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 18, + "ballColor": "rgba(205, 220, 57, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(0, 150, 136, 1)", + "bgColor": "rgba(233, 30, 99, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.2)", + "bgFigure": "diamonds" + }, + { + "id": "level_21", + "levelSpeed": 6, + "baskestsCount": 20, + "basketSize": 100, + "basketInclinationGrades": 25, + "basketInclinationType": "aligned", + "basketSeparation": 3.2, + "basketColor": "rgba(76, 175, 80, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.3)", + "ballSize": 17, + "ballColor": "rgba(156, 39, 176, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 235, 59, 1)", + "bgColor": "rgba(33, 150, 243, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "none" + }, + { + "id": "level_22", + "levelSpeed": 9, + "baskestsCount": 45, + "basketSize": 72, + "basketInclinationGrades": 45, + "basketInclinationType": "serpent", + "basketSeparation": 2.0, + "basketColor": "rgba(255, 255, 255, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.6)", + "ballSize": 12, + "ballColor": "rgba(0, 0, 0, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(244, 67, 54, 1)", + "bgColor": "rgba(158, 158, 158, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "squares" + }, + { + "id": "level_23", + "levelSpeed": 4, + "baskestsCount": 10, + "basketSize": 120, + "basketInclinationGrades": 5, + "basketInclinationType": "random", + "basketSeparation": 4.5, + "basketColor": "rgba(255, 193, 7, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.2)", + "ballSize": 20, + "ballColor": "rgba(33, 33, 33, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(0, 188, 212, 1)", + "bgColor": "rgba(255, 87, 34, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.15)", + "bgFigure": "stars" + }, + { + "id": "level_24_infinite", + "levelSpeed": 7, + "baskestsCount": 0, + "basketSize": 88, + "basketInclinationGrades": 38, + "basketInclinationType": "random", + "basketSeparation": 3.3, + "basketColor": "rgba(139, 195, 74, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 15, + "ballColor": "rgba(103, 58, 183, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(233, 30, 99, 1)", + "bgColor": "rgba(121, 85, 72, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.05)", + "bgFigure": "triangles" + }, + { + "id": "level_25_easy", + "levelSpeed": 3, + "baskestsCount": 8, + "basketSize": 150, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 3.0, + "basketColor": "rgba(76, 175, 80, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 12, + "ballColor": "rgba(255, 193, 7, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(135, 206, 235, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.1)", + "bgFigure": "none" + }, + { + "id": "level_26_easy", + "levelSpeed": 3, + "baskestsCount": 10, + "basketSize": 145, + "basketInclinationGrades": 5, + "basketInclinationType": "serpent", + "basketSeparation": 3.2, + "basketColor": "rgba(33, 150, 243, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 12, + "ballColor": "rgba(244, 67, 54, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 235, 59, 1)", + "bgColor": "rgba(224, 247, 250, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "squares" + }, + { + "id": "level_27_easy", + "levelSpeed": 3.5, + "baskestsCount": 12, + "basketSize": 140, + "basketInclinationGrades": 10, + "basketInclinationType": "random", + "basketSeparation": 3.5, + "basketColor": "rgba(156, 39, 176, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 14, + "ballColor": "rgba(205, 220, 57, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(0, 188, 212, 1)", + "bgColor": "rgba(243, 229, 245, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "triangles" + }, + { + "id": "level_28_easy", + "levelSpeed": 3.5, + "baskestsCount": 15, + "basketSize": 135, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 3.5, + "basketColor": "rgba(255, 87, 34, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 14, + "ballColor": "rgba(33, 150, 243, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(255, 243, 224, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "pentagons" + }, + { + "id": "level_29_easy_infinite", + "levelSpeed": 3, + "baskestsCount": 0, + "basketSize": 150, + "basketInclinationGrades": 5, + "basketInclinationType": "serpent", + "basketSeparation": 3.0, + "basketColor": "rgba(0, 188, 212, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.2)", + "ballSize": 12, + "ballColor": "rgba(233, 30, 99, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 193, 7, 1)", + "bgColor": "rgba(232, 245, 233, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "stars" + }, + { + "id": "level_30_easy", + "levelSpeed": 4, + "baskestsCount": 10, + "basketSize": 135, + "basketInclinationGrades": 15, + "basketInclinationType": "random", + "basketSeparation": 3.8, + "basketColor": "rgba(139, 195, 74, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 14, + "ballColor": "rgba(103, 58, 183, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(33, 150, 243, 1)", + "bgColor": "rgba(255, 235, 238, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "hexagons" + }, + { + "id": "level_31_easy", + "levelSpeed": 2.5, + "baskestsCount": 8, + "basketSize": 160, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 3.0, + "basketColor": "rgba(255, 152, 0, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.3)", + "ballSize": 10, + "ballColor": "rgba(0, 150, 136, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 235, 59, 1)", + "bgColor": "rgba(238, 238, 238, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "none" + }, + { + "id": "level_32_easy", + "levelSpeed": 3, + "baskestsCount": 14, + "basketSize": 145, + "basketInclinationGrades": 10, + "basketInclinationType": "serpent", + "basketSeparation": 3.2, + "basketColor": "rgba(96, 125, 139, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.6)", + "ballSize": 12, + "ballColor": "rgba(255, 87, 34, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(227, 242, 253, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "diamonds" + }, + { + "id": "level_33_easy", + "levelSpeed": 3.5, + "baskestsCount": 16, + "basketSize": 140, + "basketInclinationGrades": 5, + "basketInclinationType": "random", + "basketSeparation": 3.5, + "basketColor": "rgba(233, 30, 99, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 14, + "ballColor": "rgba(76, 175, 80, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(255, 193, 7, 1)", + "bgColor": "rgba(253, 236, 232, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "squares" + }, + { + "id": "level_34_easy_infinite", + "levelSpeed": 3, + "baskestsCount": 0, + "basketSize": 155, + "basketInclinationGrades": 0, + "basketInclinationType": "aligned", + "basketSeparation": 3.0, + "basketColor": "rgba(103, 58, 183, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.3)", + "ballSize": 12, + "ballColor": "rgba(255, 235, 59, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(0, 188, 212, 1)", + "bgColor": "rgba(232, 234, 246, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "stars" + }, + { + "id": "level_35_easy", + "levelSpeed": 2.5, + "baskestsCount": 10, + "basketSize": 160, + "basketInclinationGrades": 10, + "basketInclinationType": "serpent", + "basketSeparation": 3.5, + "basketColor": "rgba(0, 150, 136, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.2)", + "ballSize": 10, + "ballColor": "rgba(233, 30, 99, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 255, 255, 1)", + "bgColor": "rgba(255, 248, 225, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "triangles" + }, + { + "id": "level_36_easy", + "levelSpeed": 4, + "baskestsCount": 18, + "basketSize": 135, + "basketInclinationGrades": 5, + "basketInclinationType": "aligned", + "basketSeparation": 3.8, + "basketColor": "rgba(121, 85, 72, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.5)", + "ballSize": 14, + "ballColor": "rgba(0, 188, 212, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(139, 195, 74, 1)", + "bgColor": "rgba(239, 235, 233, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "hexagons" + }, + { + "id": "level_37_easy", + "levelSpeed": 3, + "baskestsCount": 12, + "basketSize": 150, + "basketInclinationGrades": 15, + "basketInclinationType": "random", + "basketSeparation": 3.2, + "basketColor": "rgba(244, 67, 54, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.4)", + "ballSize": 12, + "ballColor": "rgba(33, 33, 33, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(255, 193, 7, 1)", + "bgColor": "rgba(241, 248, 233, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.1)", + "bgFigure": "pentagons" + }, + { + "id": "level_38_easy", + "levelSpeed": 3.5, + "baskestsCount": 14, + "basketSize": 145, + "basketInclinationGrades": 0, + "basketInclinationType": "serpent", + "basketSeparation": 3.4, + "basketColor": "rgba(205, 220, 57, 1)", + "basketNetColor": "rgba(0, 0, 0, 0.3)", + "ballSize": 14, + "ballColor": "rgba(103, 58, 183, 1)", + "ballLinesColor": "rgba(255, 255, 255, 1)", + "ballWingsColor": "rgba(233, 30, 99, 1)", + "bgColor": "rgba(250, 250, 250, 1)", + "bgLinesColor": "rgba(0, 0, 0, 0.05)", + "bgFigure": "diamonds" + }, + { + "id": "level_39_easy_infinite", + "levelSpeed": 2.5, + "baskestsCount": 0, + "basketSize": 160, + "basketInclinationGrades": 5, + "basketInclinationType": "random", + "basketSeparation": 3.0, + "basketColor": "rgba(33, 33, 33, 1)", + "basketNetColor": "rgba(255, 255, 255, 0.6)", + "ballSize": 10, + "ballColor": "rgba(255, 152, 0, 1)", + "ballLinesColor": "rgba(0, 0, 0, 1)", + "ballWingsColor": "rgba(0, 150, 136, 1)", + "bgColor": "rgba(224, 224, 224, 1)", + "bgLinesColor": "rgba(255, 255, 255, 0.5)", + "bgFigure": "squares" + } +] diff --git a/public/games/helix_jump/data/levels.json b/public/games/helix_jump/data/levels.json new file mode 100644 index 0000000..6700853 --- /dev/null +++ b/public/games/helix_jump/data/levels.json @@ -0,0 +1,257 @@ +[ + { + "id": "level_4", + "floors": 20, + "safeFloorPercentage": 65, + "holeSizePercentage": 12, + "numberOfHoles": 2, + "distanceBetweenFloors": 4.5, + "time": 50, + "holesSorting": "aligned", + "tubeColor": "rgba(70, 130, 180, 1)", + "backgroundColor": "rgba(10, 20, 40, 1)", + "floorColor": "rgba(255, 165, 0, 1)", + "floorKillerColor": "rgba(139, 0, 0, 1)", + "ballColor": "rgba(0, 255, 255, 1)" + }, + { + "id": "level_5", + "floors": 25, + "safeFloorPercentage": 60, + "holeSizePercentage": 12, + "numberOfHoles": 2, + "distanceBetweenFloors": 4.8, + "time": 60, + "holesSorting": "oposite", + "tubeColor": "rgba(85, 107, 47, 1)", + "backgroundColor": "rgba(20, 30, 20, 1)", + "floorColor": "rgba(218, 165, 32, 1)", + "floorKillerColor": "rgba(128, 0, 128, 1)", + "ballColor": "rgba(255, 255, 255, 1)" + }, + { + "id": "level_6", + "floors": 35, + "safeFloorPercentage": 55, + "holeSizePercentage": 10, + "numberOfHoles": 3, + "distanceBetweenFloors": 5.0, + "time": 75, + "holesSorting": "serpent", + "tubeColor": "rgba(148, 0, 211, 1)", + "backgroundColor": "rgba(25, 0, 50, 1)", + "floorColor": "rgba(50, 205, 50, 1)", + "floorKillerColor": "rgba(255, 69, 0, 1)", + "ballColor": "rgba(255, 215, 0, 1)" + }, + { + "id": "level_7", + "floors": 45, + "safeFloorPercentage": 50, + "holeSizePercentage": 8, + "numberOfHoles": 4, + "distanceBetweenFloors": 5.5, + "time": 90, + "holesSorting": "random", + "tubeColor": "rgba(47, 79, 79, 1)", + "backgroundColor": "rgba(0, 0, 0, 1)", + "floorColor": "rgba(0, 191, 255, 1)", + "floorKillerColor": "rgba(220, 20, 60, 1)", + "ballColor": "rgba(255, 105, 180, 1)" + }, + { + "id": "test_level_2", + "floors": 150, + "safeFloorPercentage": 80, + "holeSizePercentage": 25, + "numberOfHoles": 4, + "distanceBetweenFloors": 0.5, + "time": 0, + "holesSorting": "oposite", + "tubeColor": "rgba(200, 200, 200, 1)", + "backgroundColor": "rgba(255, 255, 255, 1)", + "floorColor": "rgba(10, 10, 10, 1)", + "floorKillerColor": "rgba(255, 0, 0, 1)", + "ballColor": "rgba(0, 0, 255, 1)" + }, + { + "id": "level_8", + "floors": 30, + "safeFloorPercentage": 60, + "holeSizePercentage": 14, + "numberOfHoles": 2, + "distanceBetweenFloors": 4.0, + "time": 60, + "holesSorting": "aligned", + "tubeColor": "rgba(40, 40, 40, 1)", + "backgroundColor": "rgba(10, 10, 10, 1)", + "floorColor": "rgba(255, 20, 147, 1)", + "floorKillerColor": "rgba(255, 255, 255, 1)", + "ballColor": "rgba(0, 250, 154, 1)" + }, + { + "id": "level_9", + "floors": 40, + "safeFloorPercentage": 55, + "holeSizePercentage": 12, + "numberOfHoles": 3, + "distanceBetweenFloors": 4.5, + "time": 75, + "holesSorting": "serpent", + "tubeColor": "rgba(139, 69, 19, 1)", + "backgroundColor": "rgba(245, 222, 179, 1)", + "floorColor": "rgba(34, 139, 34, 1)", + "floorKillerColor": "rgba(178, 34, 34, 1)", + "ballColor": "rgba(255, 215, 0, 1)" + }, + { + "id": "level_10", + "floors": 50, + "safeFloorPercentage": 50, + "holeSizePercentage": 15, + "numberOfHoles": 4, + "distanceBetweenFloors": 5.0, + "time": 90, + "holesSorting": "oposite", + "tubeColor": "rgba(72, 61, 139, 1)", + "backgroundColor": "rgba(230, 230, 250, 1)", + "floorColor": "rgba(0, 191, 255, 1)", + "floorKillerColor": "rgba(255, 69, 0, 1)", + "ballColor": "rgba(255, 255, 255, 1)" + }, + { + "id": "level_11", + "floors": 55, + "safeFloorPercentage": 45, + "holeSizePercentage": 10, + "numberOfHoles": 2, + "distanceBetweenFloors": 3.8, + "time": 80, + "holesSorting": "random", + "tubeColor": "rgba(105, 105, 105, 1)", + "backgroundColor": "rgba(0, 0, 0, 1)", + "floorColor": "rgba(173, 255, 47, 1)", + "floorKillerColor": "rgba(255, 0, 255, 1)", + "ballColor": "rgba(0, 255, 255, 1)" + }, + { + "id": "level_12", + "floors": 60, + "safeFloorPercentage": 60, + "holeSizePercentage": 18, + "numberOfHoles": 1, + "distanceBetweenFloors": 6.0, + "time": 100, + "holesSorting": "aligned", + "tubeColor": "rgba(176, 196, 222, 1)", + "backgroundColor": "rgba(25, 25, 112, 1)", + "floorColor": "rgba(255, 140, 0, 1)", + "floorKillerColor": "rgba(0, 0, 139, 1)", + "ballColor": "rgba(255, 255, 0, 1)" + }, + { + "id": "level_13", + "floors": 65, + "safeFloorPercentage": 50, + "holeSizePercentage": 11, + "numberOfHoles": 3, + "distanceBetweenFloors": 4.2, + "time": 110, + "holesSorting": "oposite", + "tubeColor": "rgba(119, 136, 153, 1)", + "backgroundColor": "rgba(240, 255, 240, 1)", + "floorColor": "rgba(46, 139, 87, 1)", + "floorKillerColor": "rgba(128, 0, 0, 1)", + "ballColor": "rgba(255, 99, 71, 1)" + }, + { + "id": "level_14", + "floors": 70, + "safeFloorPercentage": 45, + "holeSizePercentage": 10, + "numberOfHoles": 4, + "distanceBetweenFloors": 4.5, + "time": 120, + "holesSorting": "serpent", + "tubeColor": "rgba(205, 92, 92, 1)", + "backgroundColor": "rgba(255, 228, 225, 1)", + "floorColor": "rgba(75, 0, 130, 1)", + "floorKillerColor": "rgba(0, 0, 0, 1)", + "ballColor": "rgba(127, 255, 212, 1)" + }, + { + "id": "level_15", + "floors": 75, + "safeFloorPercentage": 40, + "holeSizePercentage": 9, + "numberOfHoles": 2, + "distanceBetweenFloors": 3.5, + "time": 115, + "holesSorting": "random", + "tubeColor": "rgba(188, 143, 143, 1)", + "backgroundColor": "rgba(47, 79, 79, 1)", + "floorColor": "rgba(255, 215, 0, 1)", + "floorKillerColor": "rgba(220, 20, 60, 1)", + "ballColor": "rgba(240, 248, 255, 1)" + }, + { + "id": "level_16", + "floors": 80, + "safeFloorPercentage": 65, + "holeSizePercentage": 20, + "numberOfHoles": 5, + "distanceBetweenFloors": 5.5, + "time": 140, + "holesSorting": "oposite", + "tubeColor": "rgba(218, 165, 32, 1)", + "backgroundColor": "rgba(0, 0, 0, 1)", + "floorColor": "rgba(139, 0, 139, 1)", + "floorKillerColor": "rgba(255, 255, 255, 1)", + "ballColor": "rgba(0, 250, 154, 1)" + }, + { + "id": "level_17", + "floors": 85, + "safeFloorPercentage": 45, + "holeSizePercentage": 12, + "numberOfHoles": 3, + "distanceBetweenFloors": 4.8, + "time": 135, + "holesSorting": "aligned", + "tubeColor": "rgba(0, 128, 128, 1)", + "backgroundColor": "rgba(240, 255, 255, 1)", + "floorColor": "rgba(255, 69, 0, 1)", + "floorKillerColor": "rgba(0, 0, 128, 1)", + "ballColor": "rgba(218, 112, 214, 1)" + }, + { + "id": "level_18", + "floors": 90, + "safeFloorPercentage": 40, + "holeSizePercentage": 8, + "numberOfHoles": 4, + "distanceBetweenFloors": 5.0, + "time": 150, + "holesSorting": "serpent", + "tubeColor": "rgba(112, 128, 144, 1)", + "backgroundColor": "rgba(10, 10, 10, 1)", + "floorColor": "rgba(0, 255, 127, 1)", + "floorKillerColor": "rgba(178, 34, 34, 1)", + "ballColor": "rgba(255, 250, 205, 1)" + }, + { + "id": "level_19", + "floors": 100, + "safeFloorPercentage": 35, + "holeSizePercentage": 10, + "numberOfHoles": 3, + "distanceBetweenFloors": 4.0, + "time": 180, + "holesSorting": "random", + "tubeColor": "rgba(25, 25, 112, 1)", + "backgroundColor": "rgba(255, 250, 250, 1)", + "floorColor": "rgba(220, 20, 60, 1)", + "floorKillerColor": "rgba(0, 0, 0, 1)", + "ballColor": "rgba(0, 191, 255, 1)" + } +] \ No newline at end of file diff --git a/public/games/paper_io/data/bots.json b/public/games/paper_io/data/bots.json new file mode 100644 index 0000000..c12da66 --- /dev/null +++ b/public/games/paper_io/data/bots.json @@ -0,0 +1,42 @@ +[ + { + "id": "bot_normal", + "names": ["Wanderer", "Stroller", "Drifter", "Explorer", "Traveler"], + "spawnWithAreaMin": 0.1, + "spawnWithAreaMax": 15, + "behaviour": "normal", + "speed": 1 + }, + { + "id": "bot_protective", + "names": ["Turtle", "Defender", "Guardian", "Shield", "Fortress"], + "spawnWithAreaMin": 10, + "spawnWithAreaMax": 30, + "behaviour": "protective", + "speed": 0.85 + }, + { + "id": "bot_aggresive", + "names": ["Hunter", "Predator", "Stalker", "Chaser", "Fighter"], + "spawnWithAreaMin": 0.5, + "spawnWithAreaMax": 10, + "behaviour": "aggresive", + "speed": 1.15 + }, + { + "id": "bot_killer", + "names": ["Terminator", "Assassin", "Slayer", "Executioner", "Reaper"], + "spawnWithAreaMin": 0.1, + "spawnWithAreaMax": 5, + "behaviour": "playerKiller", + "speed": 1.25 + }, + { + "id": "bot_chaotic", + "names": ["Glitch", "Random", "Chaos", "Jester", "Erratic"], + "spawnWithAreaMin": 0.1, + "spawnWithAreaMax": 70, + "behaviour": "chaotic", + "speed": 1.1 + } +] diff --git a/public/img/cheems/cubes.png b/public/img/cheems/cubes.png new file mode 100644 index 0000000..f3a6513 Binary files /dev/null and b/public/img/cheems/cubes.png differ diff --git a/public/img/locked-cheems.png b/public/img/cheems/locked-cheems.png similarity index 100% rename from public/img/locked-cheems.png rename to public/img/cheems/locked-cheems.png diff --git a/public/img/cheems/not_a_dog.png b/public/img/cheems/not_a_dog.png new file mode 100644 index 0000000..7105613 Binary files /dev/null and b/public/img/cheems/not_a_dog.png differ diff --git a/public/img/cheems/not_a_plumber.png b/public/img/cheems/not_a_plumber.png new file mode 100644 index 0000000..3332f45 Binary files /dev/null and b/public/img/cheems/not_a_plumber.png differ diff --git a/public/img/cheems/not_ai.png b/public/img/cheems/not_ai.png new file mode 100644 index 0000000..6c2a6d9 Binary files /dev/null and b/public/img/cheems/not_ai.png differ diff --git a/public/img/cheems/realistic.png b/public/img/cheems/realistic.png new file mode 100644 index 0000000..64f6f70 Binary files /dev/null and b/public/img/cheems/realistic.png differ diff --git a/public/img/hit/cubes.png b/public/img/hit/cubes.png new file mode 100644 index 0000000..1320573 Binary files /dev/null and b/public/img/hit/cubes.png differ diff --git a/public/img/hit/not_a_dog.png b/public/img/hit/not_a_dog.png new file mode 100644 index 0000000..38e168f Binary files /dev/null and b/public/img/hit/not_a_dog.png differ diff --git a/public/img/hit/not_a_plumber.png b/public/img/hit/not_a_plumber.png new file mode 100644 index 0000000..76ace2e Binary files /dev/null and b/public/img/hit/not_a_plumber.png differ diff --git a/public/img/hit/not_ai.png b/public/img/hit/not_ai.png new file mode 100644 index 0000000..f73d2eb Binary files /dev/null and b/public/img/hit/not_ai.png differ diff --git a/public/img/hit/realistic.png b/public/img/hit/realistic.png new file mode 100644 index 0000000..fb1fd33 Binary files /dev/null and b/public/img/hit/realistic.png differ diff --git a/public/img/icons/back.png b/public/img/icons/back.png deleted file mode 100644 index 8dc4965..0000000 Binary files a/public/img/icons/back.png and /dev/null differ diff --git a/public/img/icons/black-sound-svgrepo-com.svg b/public/img/icons/black-sound-svgrepo-com.svg new file mode 100644 index 0000000..91373bb --- /dev/null +++ b/public/img/icons/black-sound-svgrepo-com.svg @@ -0,0 +1,52 @@ + \ No newline at end of file diff --git a/public/img/icons/cart.png b/public/img/icons/cart.png deleted file mode 100644 index 5f3be2a..0000000 Binary files a/public/img/icons/cart.png and /dev/null differ diff --git a/public/img/icons/lock-keyhole-minimalistic-svgrepo-com.svg b/public/img/icons/lock-keyhole-minimalistic-svgrepo-com.svg index 4ac6041..639bcda 100644 --- a/public/img/icons/lock-keyhole-minimalistic-svgrepo-com.svg +++ b/public/img/icons/lock-keyhole-minimalistic-svgrepo-com.svg @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/public/img/music/believe_me.png b/public/img/music/believe_me.png new file mode 100644 index 0000000..b934ac0 Binary files /dev/null and b/public/img/music/believe_me.png differ diff --git a/public/img/music/bonk_the_amber.png b/public/img/music/bonk_the_amber.png new file mode 100644 index 0000000..b6091ba Binary files /dev/null and b/public/img/music/bonk_the_amber.png differ diff --git a/public/img/music/bonk_the_avatar.png b/public/img/music/bonk_the_avatar.png new file mode 100644 index 0000000..b0d10e2 Binary files /dev/null and b/public/img/music/bonk_the_avatar.png differ diff --git a/public/img/music/bonus_level_bounce.png b/public/img/music/bonus_level_bounce.png new file mode 100644 index 0000000..0ba0e4f Binary files /dev/null and b/public/img/music/bonus_level_bounce.png differ diff --git a/public/img/music/button_smash_routine.png b/public/img/music/button_smash_routine.png new file mode 100644 index 0000000..6975771 Binary files /dev/null and b/public/img/music/button_smash_routine.png differ diff --git a/public/img/music/cheems_chan_bonk.png b/public/img/music/cheems_chan_bonk.png new file mode 100644 index 0000000..438f69d Binary files /dev/null and b/public/img/music/cheems_chan_bonk.png differ diff --git a/public/img/music/city_streets.png b/public/img/music/city_streets.png new file mode 100644 index 0000000..35182ab Binary files /dev/null and b/public/img/music/city_streets.png differ diff --git a/public/img/music/click_for_a_bonk.png b/public/img/music/click_for_a_bonk.png new file mode 100644 index 0000000..faeb622 Binary files /dev/null and b/public/img/music/click_for_a_bonk.png differ diff --git a/public/img/music/electro_summer_positive_party.png b/public/img/music/electro_summer_positive_party.png new file mode 100644 index 0000000..ad19b53 Binary files /dev/null and b/public/img/music/electro_summer_positive_party.png differ diff --git a/public/img/music/hardwood_strike.png b/public/img/music/hardwood_strike.png new file mode 100644 index 0000000..58bb786 Binary files /dev/null and b/public/img/music/hardwood_strike.png differ diff --git a/public/img/music/jack_bootleg.png b/public/img/music/jack_bootleg.png new file mode 100644 index 0000000..b8efb3d Binary files /dev/null and b/public/img/music/jack_bootleg.png differ diff --git a/public/img/music/magic_night.png b/public/img/music/magic_night.png new file mode 100644 index 0000000..12ce619 Binary files /dev/null and b/public/img/music/magic_night.png differ diff --git a/public/img/music/minimalism_no10.png b/public/img/music/minimalism_no10.png new file mode 100644 index 0000000..20f10bf Binary files /dev/null and b/public/img/music/minimalism_no10.png differ diff --git a/public/img/music/minimalism_no9.png b/public/img/music/minimalism_no9.png new file mode 100644 index 0000000..2be4abc Binary files /dev/null and b/public/img/music/minimalism_no9.png differ diff --git a/public/img/music/no_image.png b/public/img/music/no_image.png new file mode 100644 index 0000000..46587cc Binary files /dev/null and b/public/img/music/no_image.png differ diff --git a/public/img/music/perfect_round.png b/public/img/music/perfect_round.png new file mode 100644 index 0000000..76655b4 Binary files /dev/null and b/public/img/music/perfect_round.png differ diff --git a/public/img/music/pocket_change_victory.png b/public/img/music/pocket_change_victory.png new file mode 100644 index 0000000..dcdb1db Binary files /dev/null and b/public/img/music/pocket_change_victory.png differ diff --git a/public/img/music/quick_loot_run.png b/public/img/music/quick_loot_run.png new file mode 100644 index 0000000..d15f520 Binary files /dev/null and b/public/img/music/quick_loot_run.png differ diff --git a/public/img/music/target_in_the_sight.png b/public/img/music/target_in_the_sight.png new file mode 100644 index 0000000..3e68617 Binary files /dev/null and b/public/img/music/target_in_the_sight.png differ diff --git a/public/img/music/tetris_bootleg.png b/public/img/music/tetris_bootleg.png new file mode 100644 index 0000000..61dcc01 Binary files /dev/null and b/public/img/music/tetris_bootleg.png differ diff --git a/public/img/music/the_hammer_falls.png b/public/img/music/the_hammer_falls.png new file mode 100644 index 0000000..cc6e629 Binary files /dev/null and b/public/img/music/the_hammer_falls.png differ diff --git a/public/img/music/the_late_commute.png b/public/img/music/the_late_commute.png new file mode 100644 index 0000000..a80c9b8 Binary files /dev/null and b/public/img/music/the_late_commute.png differ diff --git a/public/img/music/the_unwritten_page_bage.png b/public/img/music/the_unwritten_page_bage.png new file mode 100644 index 0000000..9e89810 Binary files /dev/null and b/public/img/music/the_unwritten_page_bage.png differ diff --git a/public/img/music/titanium.png b/public/img/music/titanium.png new file mode 100644 index 0000000..9416af6 Binary files /dev/null and b/public/img/music/titanium.png differ diff --git a/public/img/music/trap_future_bass.png b/public/img/music/trap_future_bass.png new file mode 100644 index 0000000..eb6b228 Binary files /dev/null and b/public/img/music/trap_future_bass.png differ diff --git a/public/img/music/when_you_smile.png b/public/img/music/when_you_smile.png new file mode 100644 index 0000000..f0e8b7e Binary files /dev/null and b/public/img/music/when_you_smile.png differ diff --git a/public/img/music/where_the_path_bends.png b/public/img/music/where_the_path_bends.png new file mode 100644 index 0000000..0fbf555 Binary files /dev/null and b/public/img/music/where_the_path_bends.png differ diff --git a/public/lang/texts.en.lang b/public/lang/texts.en.lang new file mode 100644 index 0000000..b0a4c7d --- /dev/null +++ b/public/lang/texts.en.lang @@ -0,0 +1,506 @@ +{ + "pageName": { + "closet": "Customization", + "devSettings": "Developer Settings", + "game": "Cheems Bonk Game", + "menu": "Main Menu", + "onWork": "On Development", + "p404": "Error 404", + "settings": "Settings", + "offline": "Download Resources", + "shop": "Shop", + "block_breaker": "Merge Diggers", + "attack_hole": "Attack Hole", + "doge_rescue": "Doge Rescue", + "flappy_dunk": "Flappy Dunk", + "helix_jump": "Helix Jump", + "magic_sort": "Magic Sort", + "mob_control": "Mob Control", + "paper_io": "Paper.io", + "spiral_roll": "Spiral Roll", + "stack_colors": "Stack Colors", + "minigames": "Minigames", + "licenses": "Licenses & Credits", + "gallery": "Gallery" + }, + "minigames": { + "trash": "TRASH", + "buyShovel": "Buy Shovel", + "buyPickaxe": "Buy Pickaxe", + "best": "Best: ", + "youWin": "You Win!", + "restart": "Restart", + "defeat": "Defeat!", + "convertedPointsToast": "{0} game points were converted into +{1} MG Coins!", + "flappy_dunk_inst": "Tap to make the ball fly and score through the hoops!", + "magic_sort_inst": "Pour colored liquids between bottles until each is one color!", + "spiral_roll_inst": "Tap and hold to carve wood spirals and clear obstacles!", + "spiral_roll_play_again": "PLAY AGAIN" + }, + "licensesPage": { + "aiGeneratedSong": "Gemini Lyria 3 Pro created song", + "aiGeneratedImage": "Gemini 3 Pro image generator created image" + }, + "menu": { + "minigames": "Minigames", + "settings": "Settings", + "offline": "Download Resources (Offline Mode)", + "shop": "Customization Shop", + "closet": "Closet", + "stats": "Statistics", + "licenses": "Licenses", + "devMenu": "Developer Options", + "buyDogeCoin": "Buy 1 DogeCoin", + "buyDogeCoinSub": "Today's price: ", + "buyDogeCoinSuccess": "You bought 1 DogeCoin!", + "buyDogeCoinFail": "You need more points!", + "gallery": "Gallery" + }, + "options": { + "changeLang": { + "button": "Switch Language (Cambiar idioma)" + }, + "musicVolume": "Music volume", + "effectsVolume": "Effects volume", + "appTheme": "App theme (colors):", + "themes": { + "light": "Light Mode", + "dark": "Dark Mode", + "contrast": "High Contrast Mode" + }, + "fontSize": "Font size:", + "sizes": { + "smaller": "Smallest", + "small": "Small", + "normal": "Normal", + "big": "Big", + "max": "Biggest" + }, + "saveManagement": "Save Management", + "deleteProgress": "Delete Progress", + "deleteProgressConfirm": "Are you sure you want to delete ALL progress? This cannot be undone!", + "exportSave": "Export Save", + "importSave": "Import Save", + "importSaveConfirm": "Importing a save will overwrite all current progress. Proceed?" + }, + "stats": { + "title": "Statistics", + "highScore": "Highest Combo", + "totalTouches": "Total Touches", + "lifetimePoints": "Lifetime Points Earned", + "lifetimeDogeCoins": "Lifetime DogeCoins Earned", + "lifetimeMinigameCoins": "Lifetime MG Coins Earned" + }, + "game": { + "navbar": { + "highScore": "High score", + "actScore": "Current touches", + "totalScore": "Total touches", + "booster": "Booster" + }, + "tapToBonk": "Click Cheems for a BONK!" + }, + "closet": { + "title": "Customization Shop", + "cheemsSection": "Cheems (Skins)", + "soundsSection": "Hit Sounds", + "musicSection": "Background Music", + "selected": "Selected", + "equipped": "Equipped", + "purchased": "Purchased", + "cost": "Cost:", + "free": "Free", + "buy": "Buy", + "equip": "Equip", + "needMoreCoins": "Need more DogeCoins!", + "itemBought": "Successfully purchased!", + "itemSelected": "Selected!", + "inShop": "In Shop", + "buyInShop": "Buy this item in the Shop!", + "locked": "Locked" + }, + "dev": { + "title": "Developer Options", + "resetToZero": "Reset to zero", + "unlockAll": "Unlock All", + "giveDogeCoins": "Add +100 DogeCoins", + "givePoints": "Add +1000 Points", + "success": "Done!", + "unlocked": "Developer Menu UNLOCKED!", + "locked": "Developer Menu locked." + }, + "onWork": { + "title": "Page Under Development", + "message": "This page is still under development. Check back soon!", + "backToMenu": "Back to Menu" + }, + "p404": { + "title": "Error 404", + "message": "The page you are looking for does not exist in the Cheems universe.", + "backToGame": "Back to Game" + }, + "offline": { + "title": "Download Resources (Offline Mode)", + "subtitle": "Cache game files on your device so you can play without an internet connection.", + "downloadAll": "Download All Resources", + "essentialsTitle": "Essentials", + "essentialsDesc": "Core pages, graphics, scripts, fonts, and game data (no audio).", + "sfxTitle": "Sound Effects (SFX)", + "sfxDesc": "All game and UI sound effects.", + "musicTitle": "Background Music", + "musicDesc": "Full soundtrack collection for custom background music.", + "downloaded": "Downloaded", + "download": "Download", + "downloading": "Downloading...", + "successToast": "Resources downloaded and cached successfully!", + "errorToast": "Error downloading some resources.", + "checkForUpdates": "Check for Updates", + "minigamesTitle": "Minigames", + "minigamesDesc": "Assets and data for minigames." + }, + "shop": { + "title": "Item & Booster Shop", + "subtitle": "Spend your points to buy DogeCoins or activate temporary point multipliers!", + "activeBooster": "Active Booster:", + "pointsPerClick": "Points per Click", + "remaining": "remaining", + "buyBtn": "Buy", + "todaysPrice": "Today's Price:", + "pts": "Pts", + "needMorePoints": "Not enough points!", + "boosterActivated": "Booster activated!", + "currencyToggle": "Currency:", + "buyWithPts": "Buy with Pts", + "buyWithCoins": "Buy with Coins", + "currencyPts": "Points", + "currencyCoins": "DogeCoins", + "free": "Free", + "remainingToday": "left today", + "dailyLimitReached": "Daily limit reached!", + "booster": "Booster", + "boosterOverrideWarning": "Warning! You already have an active x{current} booster. Buying a x{new} booster will override your remaining time. Do you want to continue?", + "purchased": "Purchased", + "itemBoughtGoToCloset": "Item purchased! Go to Closet to equip.", + "alreadyPurchased": "Already purchased!", + "dogecoinSection": "DogeCoins", + "boosterSection": "Boosters", + "cheemsSection": "Cheems Skins", + "sfxSection": "Sound Effects", + "musicSection": "Background Music", + "backToTop": "Back to Top ↑" + }, + "shopItemsText": { + "shop_dogecoin_special_name": "DogeCoin (Special Offer)", + "shop_dogecoin_special_desc": "Buy 1 DogeCoin for a special price!", + "shop_dogecoin_1_name": "DogeCoin x1", + "shop_dogecoin_1_desc": "You get 1 Dogecoin. The price changes everyday!", + "shop_dogecoin_2_name": "DogeCoin x2", + "shop_dogecoin_2_desc": "You get 2 Dogecoins. The price changes everyday!", + "shop_dogecoin_3_name": "DogeCoin x3", + "shop_dogecoin_3_desc": "You get 3 Dogecoins. The price changes everyday!", + "shop_dogecoin_5_name": "DogeCoin x5", + "shop_dogecoin_5_desc": "You get 5 Dogecoins. The price changes everyday!", + "shop_dogecoin_10_name": "DogeCoin x10", + "shop_dogecoin_10_desc": "You get 10 Dogecoins. The price changes everyday!", + "shop_dogecoin_20_name": "DogeCoin x20", + "shop_dogecoin_20_desc": "You get 20 Dogecoins. The price changes everyday!", + "shop_boost_2x_5m_name": "Booster x2 (5 min)", + "shop_boost_2x_5m_desc": "Double your points per click for 5 minutes.", + "shop_boost_3x_5m_name": "Booster x3 (5 min)", + "shop_boost_3x_5m_desc": "Triple your points per click for 5 minutes.", + "shop_boost_2x_10m_name": "Booster x2 (10 min)", + "shop_boost_2x_10m_desc": "Double your points per click for 10 minutes.", + "shop_boost_3x_10m_name": "Booster x3 (10 min)", + "shop_boost_3x_10m_desc": "Triple your points per click for 10 minutes.", + "shop_boost_2x_20m_name": "Booster x2 (20 min)", + "shop_boost_2x_20m_desc": "Double your points per click for 20 minutes.", + "shop_boost_3x_20m_name": "Booster x3 (20 min)", + "shop_boost_3x_20m_desc": "Triple your points per click for 20 minutes.", + "shop_boost_10x_1m_name": "Booster x10 (1 min)", + "shop_boost_10x_1m_desc": "Multiply your points by 10 for 1 minute.", + "shop_boost_10x_3m_name": "Booster x10 (3 min)", + "shop_boost_10x_3m_desc": "Multiply your points by 10 for 3 minutes.", + "shop_boost_10x_5m_name": "Booster x10 (5 min)", + "shop_boost_10x_5m_desc": "Multiply your points by 10 for 5 minutes.", + "shop_boost_10x_10m_name": "Booster x10 (10 min)", + "shop_boost_10x_10m_desc": "Multiply your points by 10 for 10 minutes.", + "shop_minigame_block_breaker_name": "Merge Diggers", + "shop_minigame_block_breaker_desc": "Unlock the digging and tool merging minigame.", + "shop_minigame_attack_hole_name": "Attack Hole", + "shop_minigame_attack_hole_desc": "Unlock the Attack Hole 3D swallowing minigame.", + "shop_minigame_doge_rescue_name": "Doge Rescue", + "shop_minigame_doge_rescue_desc": "Unlock the Draw to Save Doge physics minigame.", + "shop_minigame_flappy_dunk_name": "Flappy Dunk", + "shop_minigame_flappy_dunk_desc": "Unlock the Flappy Dunk arcade hoop minigame.", + "shop_minigame_helix_jump_name": "Helix Jump", + "shop_minigame_helix_jump_desc": "Unlock the 3D Helix Jump tower minigame.", + "shop_minigame_magic_sort_name": "Magic Sort", + "shop_minigame_magic_sort_desc": "Unlock the Magic Sort water puzzle minigame.", + "shop_minigame_mob_control_name": "Mob Control", + "shop_minigame_mob_control_desc": "Unlock the Mob Control multiplier minigame.", + "shop_minigame_paper_io_name": "Paper.io", + "shop_minigame_paper_io_desc": "Unlock the Paper.io territory capture minigame.", + "shop_minigame_spiral_roll_name": "Spiral Roll", + "shop_minigame_spiral_roll_desc": "Unlock the 3D Spiral Roll wood carving minigame.", + "shop_minigame_stack_colors_name": "Stack Colors", + "shop_minigame_stack_colors_desc": "Unlock the 3D Stack Colors runner minigame.", + "shop_curr_dgc_to_mg_name": "10 Minigame Points", + "shop_curr_dgc_to_mg_desc": "Exchange 1 DogeCoin for 10 Minigame Points.", + "shop_curr_mg_to_dgc_name": "1 DogeCoin", + "shop_curr_mg_to_dgc_desc": "Exchange 10 Minigame Points for 1 DogeCoin." + }, + "itemsText": { + "cheems_normal": "Normal Cheems", + "cheems_normal_desc": "The original Cheems.", + "cheems_little": "Little Cheems", + "cheems_little_desc": "He's cute and tiny.", + "cheems_adult": "Adult Cheems", + "cheems_adult_desc": "He's serious and maybe an actor.", + "cheems_kid": "Kid Cheems", + "cheems_kid_desc": "Little cheems, but he's a kid.", + "cheems_mamado": "Buff Cheems", + "cheems_mamado_desc": "He's a Gymbro.", + "cheems_pixelart": "Pixel Cheems", + "cheems_pixelart_desc": "Pixel art cheems, who doesn't like pixelarts?", + "cheems_elegant": "Elegant Cheems", + "cheems_elegant_desc": "He's more elegant than you.", + "cheems_3d": "3D Cheems", + "cheems_3d_desc": "Cheems printed in a 3D printer, woah.", + "cheems_black": "Black Cheems", + "cheems_black_desc": "Does it have texture or...?", + "cheems_minecraft": "Minecraft Cheems", + "cheems_minecraft_desc": "I wanna be a miner, break up the iron with pickaxe...", + "cheems_not_a_dog": "Not A Dog Cheems", + "cheems_not_a_dog_desc": "They identifies themself as a cat.", + "cheems_not_a_plumber": "Not A Plumber Cheems", + "cheems_not_a_plumber_desc": "He's not definitively based on any plumber from any franchise, but it's a funny similarity.", + "cheems_not_ai": "Not AI Cheems", + "cheems_not_ai_desc": "I didn't use AI to create this cheems, not at all, ok?", + "cheems_realistic": "Realistic Cheems", + "cheems_realistic_desc": "This is cheems, but in 4K (The game must sell, ok?).", + "sfx_1": "Hit (Bonk)", + "sfx_1_desc": "Bonk, bonk, bonk...", + "sfx_2": "Hurt Minecraft", + "sfx_2_desc": "Uh, do you remember this sound?", + "sfx_3": "Hurt Roblox", + "sfx_3_desc": "Oh no, my friend. (hope I don't get demanded).", + "sfx_4": "Level Up", + "sfx_4_desc": "You're getting stronger!", + "sfx_5": "Discord", + "sfx_5_desc": "Discord, good gamer.", + "sfx_6": "Hello", + "sfx_6_desc": "She's the only animatronic with shorts, making her beautiful for the community.", + "sfx_7": "Hit Minecraft 2", + "sfx_7_desc": "Hit gender neutral.", + "sfx_8": "No", + "sfx_8_desc": "No!!! (you got hit anyway)", + "sfx_9": "Duck (Pato)", + "sfx_9_desc": "O Pato. A duck so happily came singing, Cuack Cuak, A drake who heard her came a-winging, Cuack Cuack, And he invited her to samba.", + "sfx_10": "Plushie (Peluche)", + "sfx_10_desc": "Squeak squeak!", + "sfx_11": "Splat", + "sfx_11_desc": "Splash!", + "sfx_12": "Windows Error", + "sfx_12_desc": "Hope you don't hear it often.", + "music_0": "Mute / No Music", + "music_0_desc": "Who plays with no music?", + "music_1": "A Jazz Piano", + "music_1_desc": "A jazz piano, nice.", + "music_2": "Jack Bootleg", + "music_2_desc": "Hit with a lot of energy the cheems!", + "music_3": "Magic Night", + "music_3_desc": "Relaxing music for a relaxing game.", + "music_4": "Minimalism No9", + "music_4_desc": "Minimalistic music for a minimalistic game.", + "music_5": "Minimalism No10", + "music_5_desc": "Minimalistic music for a minimalistic game, but improved to a new release.", + "music_6": "When You Smile", + "music_6_desc": "A think cheems doesn't smile anyway...", + "music_7": "Tetris (Joey iLLah Bootleg)", + "music_7_desc": "Tetris theme but make it bounce.", + "music_8": "Separation", + "music_8_desc": "A thoughtful and quiet melody.", + "music_9": "Electro Summer", + "music_9_desc": "Positive party vibes!", + "music_10": "Titanium", + "music_10_desc": "Strong like titanium.", + "music_11": "Believe Me", + "music_11_desc": "Believe in the power of music.", + "music_12": "City Streets", + "music_12_desc": "Background music for a busy city.", + "music_13": "Coffee Shop", + "music_13_desc": "Chill coffee shop ambience.", + "music_14": "Trap Future Bass", + "music_14_desc": "Modern bass for modern bonks.", + "music_15": "Bonk The Amber", + "music_15_desc": "New music track: Bonk The Amber", + "music_16": "Bonk The Avatar", + "music_16_desc": "New music track: Bonk The Avatar", + "music_17": "Bonus Level Bounce", + "music_17_desc": "New music track: Bonus Level Bounce", + "music_18": "Button Smash Routine", + "music_18_desc": "New music track: Button Smash Routine", + "music_19": "Cheems Chan Bonk", + "music_19_desc": "New music track: Cheems Chan Bonk", + "music_20": "Click For A Bonk", + "music_20_desc": "New music track: Click For A Bonk", + "music_21": "Hardwood Strike", + "music_21_desc": "New music track: Hardwood Strike", + "music_22": "Perfect Round", + "music_22_desc": "New music track: Perfect Round", + "music_23": "Pocket Change Victory", + "music_23_desc": "New music track: Pocket Change Victory", + "music_24": "Quick Loot Run", + "music_24_desc": "New music track: Quick Loot Run", + "music_25": "Target In The Sight", + "music_25_desc": "New music track: Target In The Sight", + "music_26": "The Hammer Falls", + "music_26_desc": "New music track: The Hammer Falls", + "music_27": "The Late Commute", + "music_27_desc": "New music track: The Late Commute", + "music_28": "The Unwritten Page", + "music_28_desc": "New music track: The Unwritten Page", + "music_29": "Where The Path Bends", + "music_29_desc": "New music track: Where The Path Bends" + }, + "gallery": { + "title": "Gallery", + "skinsSection": "Skins", + "soundsSection": "Sound Effects", + "musicSection": "Music", + "normalSkin": "Normal", + "hitSkin": "Hitting", + "play": "Play", + "pause": "Pause" + }, + "flappy_dunk": { + "title": "Flappy Dunk", + "instructions_infinite": "Tap to flap.{{tools.attack_hole[tools.lang]?.attack_hole_inst || 'Move the hole to swallow weapons and defeat the giant boss!'}}
+ +{{tools.attack_hole[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.attack_hole[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.doge_rescue[tools.lang]?.doge_rescue_inst || 'Draw a line to protect Doge from the bees!'}}
+ +{{tools.doge_rescue[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.doge_rescue[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ ++ {{tools.flappy_dunk[tools.lang]?.scoreLabel || 'Score: '}} + {{gamePoints}} +
+ +{{tools.helix_jump[tools.lang]?.helix_jump_inst || 'Rotate the tower to drop the bouncing ball to the bottom!'}}
+ +{{tools.helix_jump[tools.lang]?.score || 'Score: '}} {{levelPoints}}
+ +{{tools.helix_jump[tools.lang]?.score || 'Score: '}} {{levelPoints}}
+ +{{tools.magic_sort[tools.lang]?.instructions || 'Pour colored liquids between bottles until each is one color!'}}
+ +{{tools.mob_control[tools.lang]?.mob_control_inst || 'Shoot and multiply your mob to overwhelm the enemy!'}}
+ +{{tools.mob_control[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.mob_control[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.paper_io[tools.lang]?.paper_io_inst || 'Conquer territory by enclosing loops and defeat opponents!'}}
+ +{{tools.paper_io[tools.lang]?.score || 'Score: '}} {{gamePoints}}
+ +{{tools.spiral_roll[tools.lang]?.spiral_roll_inst_orig || 'Hold to carve a spiral.\nRelease to launch it!\nBigger rolls = More points.'}}
+ +{{tools.spiral_roll[tools.lang]?.spiral_roll_final_score || 'Final Score: '}} {{levelPoints}}
+ +{{tools.spiral_roll[tools.lang]?.spiral_roll_final_score || 'Final Score: '}} {{levelPoints}}
+ +{{tools.stack_colors[tools.lang]?.stack_colors_inst || 'Drag to move.\nCollect matching colors.\nAvoid wrong colors.'}}
+ +{{tools.stack_colors[tools.lang]?.stack_colors_final_score || 'Final Score: '}} {{levelPoints}}
+ +{{tools.stack_colors[tools.lang]?.stack_colors_final_score || 'Final Score: '}} {{levelPoints}}
+ +{{tools.getCheemsDescription(unlockedCheemsSkins[currentIndex])}}
+No skins unlocked yet.
+ } + } + + @if (activeSection === 'sfx' || activeSection === 'music') { + @if ((activeSection === 'sfx' && unlockedSoundEffects.length > 0) || (activeSection === 'music' && unlockedMusicTracks.length > 0)) { +{{currentAudioDesc}}
+No media unlocked yet.
+ } + } +
- } @else {
-
+
+ {{tools.onWork[tools.lang].message}}
+ +
+ {{tools.p404[tools.lang].message}}
+ +{{tools.shop[tools.lang]?.subtitle}}
+{{tools.getShopItemDesc(item)}}
+ @if (tools.isLifetimeLimitReached(item)) { +