71 Commits

Author SHA1 Message Date
Misode ee08910abf Fix #851 add sounds.json generator
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-05-03 18:31:53 +02:00
Misode 9437f25d04 Fix #727 remove optional empty lists when not allowed 2026-05-03 18:03:00 +02:00
Misode 361921cf34 Add 26.2
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-04-15 01:31:51 +02:00
SpyglassCrafter 9c16455eae Translated using Weblate (Russian)
Currently translated at 100.0% (388 of 388 strings)

Translated using Weblate (Russian)

Currently translated at 98.9% (383 of 387 strings)

Translated using Weblate (Russian)

Currently translated at 98.9% (383 of 387 strings)

Translated using Weblate (Russian)

Currently translated at 98.9% (383 of 387 strings)

Co-authored-by: JohannMeneka <johannmeneka@users.noreply.weblate.spyglassmc.com>
Co-authored-by: Phil <phizlip@users.noreply.weblate.spyglassmc.com>
Co-authored-by: SpyglassCrafter <bot@spyglassmc.com>
Co-authored-by: TrRuki <TrRuki.mail@gmail.com>
Co-authored-by: Wertyfire <wertyfire@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ru/
Translation: Misode's Data Pack Generators/Web App
2026-04-15 01:30:26 +02:00
Misode 0eec3753b4 Update some dependencies
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-04-07 15:53:22 +02:00
Misode 88ce717726 Use 26.1.1 ref instead of latest snapshot 2026-04-07 14:33:27 +02:00
Misode 888f3ae341 Update version regexes
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-03-23 20:57:22 +01:00
SpyglassCrafter 59a5321bf9 Translated using Weblate (French)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 98.9% (383 of 387 strings)

Co-authored-by: Ysuzen <ysuzen@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2026-03-22 21:06:21 +00:00
YukiSugar 06ae1f5c0e Fix minecraft wiki links (#853)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-03-13 18:35:08 +01:00
SpyglassCrafter 319cfe6044 Translated using Weblate (Turkish)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 100.0% (387 of 387 strings)

Co-authored-by: Appycake <appycake@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/tr/
Translation: Misode's Data Pack Generators/Web App
2026-03-05 06:06:21 +00:00
SpyglassCrafter 307e6dc46c Translated using Weblate (German)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 99.2% (385 of 388 strings)

Co-authored-by: Paulantis <paulantis@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/de/
Translation: Misode's Data Pack Generators/Web App
2026-03-03 08:06:20 +00:00
Misode c2b5529a60 Link directly to mojira.dev filtered issue list
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-02-24 21:57:35 +01:00
SpyglassCrafter 9540a46e78 Translated using Weblate (Japanese)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 91.7% (356 of 388 strings)

Co-authored-by: FireSepicHub-14 <firesepichub-14@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ja/
Translation: Misode's Data Pack Generators/Web App
2026-02-15 15:06:20 +00:00
SpyglassCrafter 271cab4c24 Translated using Weblate (Russian)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 98.4% (382 of 388 strings)

Co-authored-by: alexeykasp <alexeykasp@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ru/
Translation: Misode's Data Pack Generators/Web App
2026-02-08 09:06:19 +00:00
SpyglassCrafter c68ba4faea Translated using Weblate (Spanish)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 60.6% (234 of 386 strings)

Co-authored-by: Cristian Valderrama <cris2405@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/es/
Translation: Misode's Data Pack Generators/Web App
2026-02-05 17:06:19 +00:00
Misode 39f4ecc504 Fix #824 noise settings preview in 1.18
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-02-01 00:16:10 +01:00
Misode f243be3d5e Fix #832 enchant_with_levels loot preview 2026-02-01 00:07:09 +01:00
Misode 84028a06f1 Add basic support for crafting_dye and crafting_imbue 2026-01-31 23:27:56 +01:00
Misode ef17f8a5e5 Fix mcdoc version filters for 26.1 2026-01-31 22:14:40 +01:00
OffsetMonkey538 1f8be81f50 Loot Table Modifier generator (#758)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
* Loot Table Modifier loot_modifier generator

Should support everything currently implemented

* Translation keys

* Make 'actions' and 'predicates' always a list

Seems simpler to understand and a list of one entry behaves exactly the same

* Update loot-table-modifier.mcdoc

Should match currently latest commit

* Fix loot modifier path in datapack being incorrect

* Match v2 alpha 1

* Import LootPoolEntry

* Add files via upload

* Revert "Add files via upload"

This reverts commit 7e9c50ee10.

* add condition_add action

* Add union member name overrides

Co-authored-by: Misode <misoloo64@gmail.com>

---------

Co-authored-by: Misode <misoloo64@gmail.com>
2026-01-19 21:06:31 +01:00
Misode e02c26f6db Fix #839 update spyglass to fix 26.1 version checks
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-01-19 20:18:48 +01:00
SpyglassCrafter 8d4e194195 Translated using Weblate (Korean)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 71.7% (277 of 386 strings)

Co-authored-by: lanthanide <lantice3720@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ko/
Translation: Misode's Data Pack Generators/Web App
2026-01-14 06:06:19 +00:00
SpyglassCrafter 1ec1739bfd Translated using Weblate (German)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 98.7% (381 of 386 strings)

Co-authored-by: SoleFrog <solefrog@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/de/
Translation: Misode's Data Pack Generators/Web App
2026-01-12 14:06:19 +00:00
SpyglassCrafter d1f659f825 Translated using Weblate (German)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 99.2% (383 of 386 strings)

Co-authored-by: Annhilati <annhilati@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/de/
Translation: Misode's Data Pack Generators/Web App
2026-01-08 15:06:19 +00:00
Misode c8e1714859 Fix article link for new snapshot format
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-01-06 20:54:30 +01:00
Misode 1bd7ad880a Fix #835 handle invalid identifiers in mcdoc renderer
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-01-03 23:11:48 +01:00
Misode 1836668c1f Fix #833 Update deepslate
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-01-03 03:28:39 +01:00
SpyglassCrafter 1b70e60552 Translated using Weblate (Portuguese)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 74.3% (284 of 382 strings)

Co-authored-by: Crimson Developer <crim-dev@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/pt/
Translation: Misode's Data Pack Generators/Web App
2025-12-28 17:06:19 +00:00
SpyglassCrafter 8a6232183e Translated using Weblate (German)
Currently translated at 97.9% (374 of 382 strings)

Co-authored-by: [MΛLTE] <malte9799@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/de/
Translation: Misode's Data Pack Generators/Web App
2025-12-28 17:06:19 +00:00
SpyglassCrafter be7ed77637 Translated using Weblate (French)
Currently translated at 100.0% (382 of 382 strings)

Co-authored-by: Crimson Developer <crim-dev@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2025-12-28 17:06:19 +00:00
Misode a3d8242519 Fix #831 transformation renderer after deepslate update
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-12-21 15:01:55 +01:00
Misode 10b604cf43 Add support for 26.1 snapshots
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-12-17 21:27:26 +01:00
Misode 390844275a Fix #828 account for attribute modifiers with display hidden
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-12-07 01:44:10 +01:00
SpyglassCrafter c089d70554 Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 98.4% (376 of 382 strings)

Co-authored-by: niangao <niangaovo@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-12-04 09:06:18 +00:00
SpyglassCrafter 971db423f3 Translated using Weblate (Slovak)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 40.3% (154 of 382 strings)

Co-authored-by: Simplmon <simplmon@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/sk/
Translation: Misode's Data Pack Generators/Web App
2025-11-21 09:06:19 +00:00
SpyglassCrafter a5bcbeebcf Translated using Weblate (French)
Currently translated at 97.9% (374 of 382 strings)

Co-authored-by: M6a5x98 <m6a5x98@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2025-11-21 09:06:19 +00:00
SpyglassCrafter e38ec6725d Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 97.3% (372 of 382 strings)

Co-authored-by: MangoFanFan_ <mangofanfan@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-11-16 14:06:17 +00:00
Misode 3fe6dcdb92 Fix #813 item displays in recipe viewer in 1.20.4
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-11-11 15:23:59 +01:00
SpyglassCrafter 28f6f51d77 Translated using Weblate (French)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 97.8% (370 of 378 strings)

Co-authored-by: ZetMine <zetmine@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2025-11-08 19:06:17 +00:00
Misode 558ecbcc5d Add timeline and zombie nautilus variant generators
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-11-05 02:12:49 +01:00
Misode 9a7c325a8c Fix Spyglass breaking change
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-10-20 02:03:30 +02:00
Misode 7e42d13ac1 Update spyglass and add 1.21.11 support 2025-10-20 02:01:08 +02:00
SpyglassCrafter 9c1ed06096 Translated using Weblate (Russian)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 100.0% (378 of 378 strings)

Co-authored-by: Jaga <jagermeistars@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ru/
Translation: Misode's Data Pack Generators/Web App
2025-10-16 23:06:16 +00:00
SpyglassCrafter e1ec0529a0 Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 97.6% (369 of 378 strings)

Co-authored-by: JerryHan3 <jerryhan3@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-10-14 14:06:16 +00:00
SpyglassCrafter f57c203de5 Translated using Weblate (Czech)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 96.0% (360 of 375 strings)

Co-authored-by: Simplmon <simplmon@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/cs/
Translation: Misode's Data Pack Generators/Web App
2025-10-09 15:06:16 +00:00
SpyglassCrafter 1ad63894f2 Translated using Weblate (Slovak)
Currently translated at 35.7% (134 of 375 strings)

Co-authored-by: Simplmon <simplmon@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/sk/
Translation: Misode's Data Pack Generators/Web App
2025-10-09 15:06:16 +00:00
Misode c452033826 Make generator not found errors not reportable
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-10-03 00:16:59 +02:00
ChampionAsh5357 37d90ec493 feat(neoforge): Add new datamaps (#806) 2025-10-02 22:20:09 +02:00
SpyglassCrafter 4158aa85f3 Translated using Weblate (Korean)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 70.1% (263 of 375 strings)

Co-authored-by: JUNG TAEWON <hafskjfha@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ko/
Translation: Misode's Data Pack Generators/Web App
2025-09-18 00:06:15 +00:00
SpyglassCrafter ec262c576f Translated using Weblate (French)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 99.1% (370 of 373 strings)

Co-authored-by: Thomas <misieur@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2025-09-08 15:06:15 +00:00
blockninja124 a33e2b5404 Add ad-astra planets generator (#799)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
* Add ad-astra generator

* Fix file path and min/max version

* Actually fix path 🤦
2025-09-03 23:58:24 +02:00
SpyglassCrafter 9afd315255 Translated using Weblate (German)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 99.1% (370 of 373 strings)

Co-authored-by: Thiemo <travikskoot@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/de/
Translation: Misode's Data Pack Generators/Web App
2025-08-30 17:06:14 +00:00
SpyglassCrafter 688cbd36bf Translated using Weblate (Russian)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 96.7% (361 of 373 strings)

Co-authored-by: GaleevArslanDev <galeevarslandev@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ru/
Translation: Misode's Data Pack Generators/Web App
2025-08-26 16:06:15 +00:00
SpyglassCrafter 818cf736a1 Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 94.1% (351 of 373 strings)

Co-authored-by: JerryHan3 <jerryhan3@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-08-19 07:06:14 +00:00
SpyglassCrafter 00cd1280da Translated using Weblate (French)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 96.7% (358 of 370 strings)

Co-authored-by: cesouRED <cesoured@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/fr/
Translation: Misode's Data Pack Generators/Web App
2025-08-15 21:06:17 +00:00
Daniel Norris 33719ab3e2 Adds Pixelmon's Pokedex datapack types (#791)
* Pixelmon datapack types

* Fix some syntax errors & add NPC Presets

* add pokedex datapack
2025-08-15 17:40:49 +02:00
Misode d9d2863e3f Fix #777 update spyglass
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-08-08 17:25:05 +02:00
VidTDM 07577f28e8 Update Create Mod Generators to 1.21.1 (#762)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
* Initial Create Recipes

* Minor Changes

* Minor Changes

* fix issue with mixing recipe

* fix issue with cutting recipe

* Update to 1.21.1

* add compacting recipe and fix some issues

* Delete .vscode/snippets.json.code-snippets

* Final Touches

* change warning colour

* Sanitize mcdoc doc comments

* Fix until attributes, as they are exclusive

---------

Co-authored-by: Misode <misoloo64@gmail.com>
2025-08-07 21:53:14 +02:00
SpyglassCrafter ca36fc9c26 Translated using Weblate (Korean)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 66.2% (245 of 370 strings)

Co-authored-by: Tiji <iamtiji@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ko/
Translation: Misode's Data Pack Generators/Web App
2025-08-07 06:06:14 +00:00
Misode 449e8a2b14 Add version 1.21.9 and set default to 1.21.6 2025-08-07 04:04:21 +02:00
Misode 9e11529b5a Display minor pack formats
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2025-08-07 03:56:01 +02:00
SpyglassCrafter c74f17b4f9 Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 94.0% (348 of 370 strings)

Co-authored-by: dongyangchen97-sketch <dongyangchen97-sketch@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-08-03 05:06:16 +00:00
SpyglassCrafter 06bca87f0c Translated using Weblate (Chinese (Simplified Han script))
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 90.5% (335 of 370 strings)

Co-authored-by: INF32768 <inf32768@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/zh_Hans/
Translation: Misode's Data Pack Generators/Web App
2025-07-28 15:06:13 +00:00
SpyglassCrafter 467f36b735 Translated using Weblate (Portuguese)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 72.4% (268 of 370 strings)

Co-authored-by: tmpod <tmpod@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/pt/
Translation: Misode's Data Pack Generators/Web App
2025-07-27 00:06:13 +00:00
SpyglassCrafter c4dc0360ab Translated using Weblate (Japanese)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 91.1% (328 of 360 strings)

Co-authored-by: あれい <azerl0@users.noreply.weblate.spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ja/
Translation: Misode's Data Pack Generators/Web App
2025-07-16 15:06:13 +00:00
Daniel Norris ecc810dd4a feat(modded): Adds Pixelmon datapack types (#765)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
* Pixelmon datapack types

* Fix some syntax errors & add NPC Presets
2025-07-14 12:27:53 +02:00
SpyglassCrafter de9f36a003 Translated using Weblate (Korean)
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Currently translated at 63.9% (229 of 358 strings)

Co-authored-by: BinRecycle <binrecycle@users.noreply.weblate.spyglassmc.com>
Co-authored-by: SpyglassCrafter <bot@spyglassmc.com>
Translate-URL: https://weblate.spyglassmc.com/projects/misode-github-io/web-app/ko/
Translation: Misode's Data Pack Generators/Web App
2025-07-14 02:06:12 +00:00
Nogard 72d927f7a7 Add Czech translations (#768)
* Add Czech translations

* Add Czech locale option to config
2025-07-14 04:05:27 +02:00
Drex 322e4377ed Add fabric:dependency_overrides generator (#770) 2025-07-14 04:03:46 +02:00
Misode 1bc0eb92a2 Fix #775 handle inline dialogs in dialog_list preview 2025-07-14 04:00:28 +02:00
Misode edf72dd65f Update spyglass + add chicken variant generator 2025-07-14 03:40:09 +02:00
47 changed files with 4668 additions and 1334 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
gtag('config', 'G-S982VZS08T', {
send_page_view: false,
theme: localStorage.getItem('theme') || 'default',
version: localStorage.getItem('schema_version') || '1.21.5',
version: localStorage.getItem('schema_version') || '26.1',
locale: localStorage.getItem('language') || 'en',
prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none',
tree_view_mode: localStorage.getItem('misode_tree_view_mode') || 'default',
+732 -395
View File
File diff suppressed because it is too large Load Diff
+9 -8
View File
@@ -16,20 +16,21 @@
"license": "MIT",
"dependencies": {
"@giscus/react": "^2.2.3",
"@spyglassmc/core": "^0.4.31",
"@spyglassmc/java-edition": "^0.3.41",
"@spyglassmc/json": "^0.3.35",
"@spyglassmc/locales": "^0.3.16",
"@spyglassmc/mcdoc": "^0.3.35",
"@spyglassmc/nbt": "^0.3.36",
"@spyglassmc/core": "^0.4.43",
"@spyglassmc/java-edition": "^0.3.55",
"@spyglassmc/json": "^0.3.47",
"@spyglassmc/locales": "^0.3.22",
"@spyglassmc/mcdoc": "^0.3.47",
"@spyglassmc/nbt": "^0.3.49",
"@zip.js/zip.js": "^2.4.5",
"brace": "^0.11.1",
"buffer": "^6.0.3",
"deepslate": "^0.23.6",
"deepslate": "^0.25.1",
"deepslate-1.18": "npm:deepslate@0.9.0-beta.9",
"deepslate-1.18.2": "npm:deepslate@0.9.0",
"deepslate-1.20.4": "npm:deepslate@0.20.1",
"diff": "^7.0.0",
"diff": "^8.0.4",
"dompurify": "^3.2.6",
"highlight.js": "^11.5.1",
"howler": "^2.2.3",
"js-yaml": "^3.14.1",
+19
View File
@@ -0,0 +1,19 @@
dispatch minecraft:resource[ad_astra:planets] to struct AdAstraPlanet {
/// The dimension id for this planet to use
dimension: #[id="dimension"] string,
/// Due to floating point precision, the actual gravity may be slightly off in-game
gravity: float @ 0..,
/// The orbit dimension id. If left blank, this planet is treated as an orbit dimension
orbit?: #[id="dimension"] string,
oxygen: boolean,
solar_power: int @ 1..,
/// Controls where the planet will be on the selector screen
solar_system: #[id="dimension"] string,
/// Below -50 will freeze, above 70 will burn
temperature: int,
/// The minimum rocket tier required to reach this planet
tier: int @ 1..,
/// Additional dimensions that the player can launch from
additional_launch_dimensions: [#[id="dimension"] string]
}
+153 -101
View File
@@ -1,9 +1,12 @@
use ::java::world::component::DataComponentPatch
dispatch minecraft:resource[create:recipes] to struct Recipes {
type: #[id] Type,
type: Type,
...create:recipes[[type]],
}
enum(string) Type {
Compacting = "create:compacting",
Crushing = "create:crushing",
Cutting = "create:cutting",
Deploying = "create:deploying",
@@ -25,6 +28,48 @@ struct NBT {
Potion?: string,
}
type Item = struct {
#[until="1.21.1"]
item: string,
#[since="1.21.1"]
id: string,
chance?: float @ 0..,
count?: int @ 1..,
#[since="1.21.1"]
components?: DataComponentPatch,
}
type ItemWithCount = struct {
#[until="1.21.1"]
item: string,
#[since="1.21.1"]
id: string,
count?: int @ 0..,
#[since="1.21.1"]
components?: DataComponentPatch,
}
type SimpleItem = struct {
#[until="1.21.1"]
item: string,
#[since="1.21.1"]
id: string,
#[since="1.21.1"]
components?: DataComponentPatch,
}
type Fluid = struct {
#[until="1.21.1"]
fluid: string,
#[until="1.21.1"]
nbt?: NBT,
#[since="1.21.1"]
id: string,
amount: int @ 1..,
#[since="1.21.1"]
components?: DataComponentPatch,
}
type ItemOrTag = (
struct {
item: string,
@@ -33,168 +78,175 @@ type ItemOrTag = (
}
)
type FluidOrTag = (
type ItemOrTagWithCount = (
struct {
fluid: string,
amount: int @ 1..,
nbt?: NBT,
item: string,
count?: int @ 1..,
} | struct {
fluidTag: string,
amount: int @ 1..,
nbt?: NBT,
tag: string,
count?: int @ 1..,
}
)
type FluidOrTag = (
struct {
fluid: string,
#[since="1.21.1"]
type: "fluid_stack",
amount: int @ 1..,
#[until="1.21.1"]
nbt?: NBT,
#[since="1.21.1"]
components?: DataComponentPatch,
} | struct {
#[until="1.21.1"]
fluidTag: string,
#[since="1.21.1"]
fluid_tag: string,
#[since="1.21.1"]
type: "fluid_tag",
amount: int @ 1..,
#[until="1.21.1"]
nbt?: NBT,
#[since="1.21.1"]
components?: DataComponentPatch,
}
)
type MixingResult = struct {
id: string,
/// Used for items; optional field.
count?: int @ 1..,
/// Used for fluids; mandatory field.
amount?: int @ 1..,
components?: DataComponentPatch,
}
dispatch create:recipes[create:compacting] to struct {
ingredients: [(ItemOrTagWithCount | FluidOrTag)] @ 1..,
results: (
#[until="1.21.1"]
[(ItemWithCount | Fluid)] @ 1.. |
#[since="1.21.1"]
[MixingResult] @ 1 |
),
}
dispatch create:recipes[create:crushing] to struct {
#[until="1.21.1"]
processingTime: int @ 1..,
#[since="1.21.1"]
processing_time: int @ 1..,
ingredients: [ItemOrTag] @ 1,
results: [struct {
chance?: float @ 0..,
count?: int @ 1..,
item: string,
}] @ 1..,
results: [Item] @ 1..,
}
dispatch create:recipes[create:cutting] to struct {
#[until="1.21.1"]
processingTime: int @ 1..,
ingredients: [struct {
item?: string, // Make the user select only one
tag?: string,
count?: int @ 1..,
}] @ 1,
results: [struct {
item: string,
count?: int @ 1..,
}] @ 1,
#[since="1.21.1"]
processing_time: int @ 1..,
ingredients: [ItemOrTag] @ 1,
results: [Item] @ 1,
}
dispatch create:recipes[create:deploying] to struct {
/// The first object is the base item and the second object is the ingredient
/// The first item is the base item; the second is the ingredient to be deployed.
ingredients: [ItemOrTag] @ 2,
/// Defaults to false.
#[until="1.21.1"]
keepHeldItem?: boolean,
results: [struct {
item: string,
}] @ 1,
/// Defaults to false.
#[since="1.21.1"]
keep_held_item?: boolean,
results: [SimpleItem] @ 1,
}
dispatch create:recipes[create:emptying] to struct {
ingredients: [ItemOrTag] @ 1,
results: [struct {
item: string,
count?: int @ 1..,
}, struct {
fluid: string,
amount: int @ 1..,
}],
results: [SimpleItem, Fluid],
}
dispatch create:recipes[create:filling] to struct {
ingredients: [ItemOrTag, FluidOrTag],
results: [struct { item: string }] @ 1,
results: [SimpleItem] @ 1,
}
dispatch create:recipes[create:haunting] to struct {
ingredients: [ItemOrTag] @ 1,
results: [struct {
chance?: float @ 0..,
count?: int @ 1..,
item: string,
}] @ 1..,
results: [Item] @ 1..,
}
dispatch create:recipes[create:item_application] to struct {
/// The first object is the base item and the second object is the ingredient
/// The first item is the base item; the second is the ingredient to be applied.
ingredients: [ItemOrTag] @ 2,
results: [struct {
item: string,
}] @ 1,
results: [SimpleItem] @ 1,
}
dispatch create:recipes[create:mechanical_crafting] to struct {
acceptMirrored?: boolean,
/// Warning: JEI will not display recipes greater in size than 9x9
pattern: [string],
#[until="1.21.1"]
acceptMirrored: boolean,
#[since="1.21.1"]
accept_mirrored: boolean,
/// Identifier for the category this goes in the recipe book.
#[since="1.21.1"]
category: string,
/// **Warning:** Recipes larger than 9x9 will not be displayed in JEI.
pattern: [#[crafting_ingredient(definition=true)] string],
key: struct {
[string]: ItemOrTag,
},
result: struct {
count?: int @ 1..,
item: string,
[#[crafting_ingredient] string]: ItemOrTag,
},
result: ItemWithCount,
/// Determines if a notification is shown when unlocking this recipe. Defaults to true.
#[since="1.21.1"]
show_notification?: boolean,
}
dispatch create:recipes[create:milling] to struct {
#[until="1.21.1"]
processingTime: int @ 1..,
#[since="1.21.1"]
processing_time: int @ 1..,
ingredients: [ItemOrTag] @ 1,
results: [struct {
chance?: float @ 0..,
count?: int @ 1..,
item: string,
}] @ 1..,
results: [Item] @ 1..,
}
dispatch create:recipes[create:mixing] to struct {
#[until="1.21.1"]
heatRequirement?: ("heated" | "superheated"),
ingredients: [(struct {
count: int @ 1..,
item: string,
} | struct {
count: int @ 1..,
tag: string,
} | struct {
fluid: string,
amount: int @ 1..,
nbt?: NBT,
} | struct {
fluidTag: string,
amount: int @ 1..,
nbt?: NBT,
})] @ 1..,
results: [(struct {
count: int @ 1..,
item: string,
} | struct {
fluid: string,
amount: int @ 1..,
nbt?: NBT,
})] @ 1,
#[since="1.21.1"]
heat_requirement?: ("heated" | "superheated"),
ingredients: [(ItemOrTagWithCount | FluidOrTag)] @ 1..,
results: (
#[until="1.21.1"]
[(ItemWithCount | Fluid)] @ 1.. |
#[since="1.21.1"]
[MixingResult] @ 1 |
),
}
dispatch create:recipes[create:pressing] to struct {
ingredients: [ItemOrTag] @ 1,
results: [struct {
item: string,
count?: int @ 1..,
}] @ 1,
ingredients: [ItemOrTag] @ 1..,
results: [ItemWithCount] @ 1,
}
dispatch create:recipes[create:sandpaper_polishing] to struct {
ingredients: [ItemOrTag] @ 1,
results: [struct {
item: string,
count?: int @ 1..,
}] @ 1,
results: [ItemWithCount] @ 1,
}
dispatch create:recipes[create:sequenced_assembly] to struct {
ingredient: ItemOrTag,
loops: int @ 1..,
results: [struct {
chance?: float @ 0..,
count?: int @ 1..,
item: string,
}],
results: [Item] @ 1..,
sequence: [Recipes],
transitionalItem: struct {
item: string,
},
#[until="1.21.1"]
transitionalItem: SimpleItem,
#[since="1.21.1"]
transitional_item: SimpleItem,
}
dispatch create:recipes[create:splashing] to struct {
ingredients: [ItemOrTag] @ 1,
results: [struct {
chance?: float @ 0..,
count?: int @ 1..,
item: string,
}] @ 1..,
results: [Item] @ 1..,
}
+36
View File
@@ -130,3 +130,39 @@ struct LanguageAdapters {
struct CustomValues {
[string]: any,
}
// Sources:
// - https://wiki.fabricmc.net/tutorial:dependency_overrides
// - https://github.com/FabricMC/fabric-loader/blob/master/src/main/java/net/fabricmc/loader/impl/metadata/DependencyOverrides.java
dispatch minecraft:resource[fabric:dependency_overrides] to struct DependencyOverrides {
/// Needed for internal mechanisms. Must always be `1`.
version: 1,
overrides: Overrides,
}
struct Overrides {
[string]: Override,
}
struct Override {
[DependencyType]: Dependencies,
}
enum(string) DependencyType {
ReplaceDepends = "depends",
ReplaceRecommends = "recommends",
ReplaceSuggests = "suggests",
ReplaceConflicts = "conflicts",
ReplaceBreaks = "breaks",
AddDepends = "+depends",
AddRecommends = "+recommends",
AddSuggests = "+suggests",
AddConflicts = "+conflicts",
AddBreaks = "+breaks",
RemoveDepends = "-depends",
RemoveRecommends = "-recommends",
RemoveSuggests = "-suggests",
RemoveConflicts = "-conflicts",
RemoveBreaks = "-breaks",
}
+113
View File
@@ -0,0 +1,113 @@
use ::java::data::loot::LootPool
use ::java::data::loot::LootPoolEntry
use ::java::data::loot::LootContextType
use ::java::data::loot::LootCondition
dispatch minecraft:resource[loot-table-modifier:loot_modifier] to struct {
actions: [Action],
predicate: Predicate,
}
struct Action {
type: #[id] ActionType,
...loot-table-modifier:loot_modifier_action_types[[type]],
}
struct Predicate {
type: #[id] PredicateType,
...loot-table-modifier:loot_modifier_predicate_types[[type]],
}
enum(string) ActionType {
PoolAdd = "loot-table-modifier:pool_add",
PoolRemove = "loot-table-modifier:pool_remove",
EntryAdd = "loot-table-modifier:entry_add",
EntryRemove = "loot-table-modifier:entry_remove",
EntryItemSet = "loot-table-modifier:entry_item_set",
ConditionAdd = "loot-table-modifier:condition_add"
}
enum(string) PredicateType {
Inverted = "loot-table-modifier:inverted",
AnyOf = "loot-table-modifier:any_of",
AllOf = "loot-table-modifier:all_of",
EntryItem = "loot-table-modifier:entry_item",
Table = "loot-table-modifier:table",
}
/// Utils
struct Pattern {
regexPattern: #[regex_pattern] string,
}
type LiteralOrPattern<T> = (
#[misode_member_name="Literal"] T |
#[misode_member_name="Regex pattern"] Pattern |
)
/// Actions
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:pool_add] to struct {
pools: [LootPool],
}
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:pool_remove] to struct {
}
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:entry_add] to struct {
entries: [LootPoolEntry],
}
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:entry_remove] to struct {
}
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:entry_item_set] to struct {
name: #[id="item"] string,
canReplaceEntry?: boolean,
}
dispatch loot-table-modifier:loot_modifier_action_types[loot-table-modifier:condition_add] to struct {
conditions: [LootCondition],
includePools?: boolean,
includeEntries?: boolean,
}
/// Predicates
/// # op
dispatch loot-table-modifier:loot_modifier_predicate_types[loot-table-modifier:inverted] to struct {
term: Predicate,
}
dispatch loot-table-modifier:loot_modifier_predicate_types[loot-table-modifier:any_of] to struct {
terms: [Predicate],
}
dispatch loot-table-modifier:loot_modifier_predicate_types[loot-table-modifier:all_of] to struct {
terms: [Predicate],
}
/// # entry
dispatch loot-table-modifier:loot_modifier_predicate_types[loot-table-modifier:entry_item] to struct {
name: LiteralOrPattern<#[id="item"] string>,
}
/// # table
dispatch loot-table-modifier:loot_modifier_predicate_types[loot-table-modifier:table] to struct {
identifiers?: [LiteralOrPattern<#[id="loot_table"] string>],
types?: [LiteralOrPattern<LootContextType>],
}
+21
View File
@@ -123,6 +123,13 @@ type DataMap<K, V> = struct {
remove?: [K],
}
dispatch minecraft:resource[neoforge:data_map_acceptable_villager_distances] to DataMap<#[id(registry="entity_type", tags="allowed")] string, (
float |
struct AcceptableVillagerDistance {
acceptable_villager_distance: float,
} |
)>
dispatch minecraft:resource[neoforge:data_map_compostables] to DataMap<#[id(registry="item",tags="allowed")] string, (
float @ 0..1 |
struct Compostable {
@@ -166,6 +173,13 @@ dispatch minecraft:resource[neoforge:data_map_raid_hero_gifts] to DataMap<#[id(r
} |
)>
dispatch minecraft:resource[neoforge:data_map_strippables] to DataMap<#[id(registry="block",tags="allowed")] string, (
#[id="block"] string |
struct Strippable {
stripped_block: #[id="block"] string,
} |
)>
dispatch minecraft:resource[neoforge:data_map_vibration_frequencies] to DataMap<#[id(registry="game_event",tags="allowed")] string, (
int @ 1..15 |
struct VibrationFrequency {
@@ -173,6 +187,13 @@ dispatch minecraft:resource[neoforge:data_map_vibration_frequencies] to DataMap<
} |
)>
dispatch minecraft:resource[neoforge:data_map_villager_types] to DataMap<#[id(registry="worldgen/biome",tags="allowed")] string, (
#[id="villager_type"] string |
struct BiomeVillagerType {
villager_type: #[id="villager_type"] string,
} |
)>
dispatch minecraft:resource[neoforge:data_map_waxables] to DataMap<#[id(registry="block",tags="allowed")] string, (
#[id="block"] string |
struct Waxable {
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -4,7 +4,7 @@ const STRUCTURE = <svg width="28" height="22" viewBox="0 0 28 22" fill="none" xm
export const Icons = {
home: <svg width="32" height="28" viewBox="0 0 32 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="26" height="6" rx="3" fill="#7CB45C"/><rect x="8" width="18" height="6" rx="3" fill="#4BA041"/><rect y="11" width="32" height="6" rx="3" fill="#AAA8A8"/><rect x="11" y="11" width="21" height="6" rx="3" fill="#91908F"/><rect x="11" y="22" width="21" height="6" rx="3" fill="#70B5C3"/><rect x="17" y="22" width="15" height="6" rx="3" fill="#4D989B"/></svg>,
report: <svg width="30" height="36" viewBox="0 0 30 36" xmlns="http://www.w3.org/2000/svg"><path d="M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z" fill="#6ACC5D"/><path d="M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z" fill="#FF4C4C"/><path d="M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z" fill="#E5B442"/><path d="M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z" fill="#2BAD1D"/><path d="M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z" fill="#C10B0B"/><path d="M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z" fill="#CC8E00"/></svg>,
sounds: <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="10" fill="#451475"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z" fill="#C5A5E6"/></svg>,
sound_explorer: <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="10" fill="#451475"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z" fill="#C5A5E6"/></svg>,
customized: <svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 16.5V11" stroke="#4BA041" stroke-width="2"/><rect x="15" y="6" width="6" height="6" rx="2" fill="#4BA041"/><path d="M9 11.5V5" stroke="#4BA041" stroke-width="2"/><rect x="6" width="6" height="6" rx="2" fill="#4BA041"/><path d="M24 24H8C5.79086 24 4 22.2091 4 20V8.99999C6 8.5 8 8.49999 9.5 9.99999C10.5 11 11.5 12.9368 13 14.4368C13.9499 15.3867 15.6497 15.9119 17.5 16C19 16.0714 21.078 15.3978 22 14.9368C23 14.4368 26 14 28 14.4368V20C28 22.2091 26.2091 24 24 24Z" fill="#91908F"/><path fill-rule="evenodd" clip-rule="evenodd" d="M6 26.2968H22C22.5869 26.2968 23.1444 26.1704 23.6465 25.9433C23.0189 27.3311 21.6222 28.2968 20 28.2968H4C1.79086 28.2968 0 26.5059 0 24.2968V13.2968C0.673018 13.1285 1.34604 13.0169 2 13V22.2968C2 24.5059 3.79086 26.2968 6 26.2968Z" fill="#4D989B"/></svg>,
convert: <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.55 35.4698C10.9312 35.8188 11.4355 36.0087 11.9565 35.9997C12.4775 35.9907 12.9746 35.7833 13.3431 35.4214C13.7115 35.0595 13.9226 34.5712 13.9318 34.0595C13.941 33.5477 13.7476 33.0525 13.3924 32.678L8.7802 28.1479H32.0823C32.6157 28.1479 33.1272 27.9398 33.5044 27.5693C33.8815 27.1989 34.0934 26.6964 34.0934 26.1725C34.0934 25.6486 33.8815 25.1462 33.5044 24.7757C33.1272 24.4053 32.6157 24.1972 32.0823 24.1972H8.7802L13.3924 19.667C13.7476 19.2926 13.941 18.7973 13.9318 18.2856C13.9226 17.7738 13.7115 17.2855 13.3431 16.9236C12.9746 16.5617 12.4775 16.3544 11.9565 16.3454C11.4355 16.3363 10.9312 16.5263 10.55 16.8752L2.50552 24.7766C2.12891 25.147 1.91737 25.6491 1.91737 26.1725C1.91737 26.696 2.12891 27.1981 2.50552 27.5684L10.55 35.4698Z" fill="#8012C5"/><path d="M25.46 20.5674C25.2758 20.7615 25.0538 20.9171 24.8071 21.0251C24.5604 21.1331 24.294 21.1912 24.024 21.1958C23.7539 21.2005 23.4857 21.1517 23.2352 21.0524C22.9848 20.953 22.7573 20.8051 22.5663 20.6175C22.3753 20.4299 22.2247 20.2065 22.1236 19.9605C22.0224 19.7145 21.9727 19.451 21.9775 19.1857C21.9823 18.9205 22.0414 18.6589 22.1513 18.4166C22.2612 18.1742 22.4197 17.9561 22.6173 17.7753L27.2299 13.2447H3.9256C3.39217 13.2447 2.88058 13.0366 2.50339 12.6661C2.1262 12.2956 1.91429 11.7931 1.91429 11.2692C1.91429 10.7452 2.1262 10.2427 2.50339 9.87225C2.88058 9.50176 3.39217 9.29363 3.9256 9.29363H27.2299L22.6173 4.76306C22.2621 4.38856 22.0686 3.89324 22.0778 3.38144C22.087 2.86964 22.2981 2.38133 22.6666 2.01937C23.0351 1.65742 23.5323 1.45009 24.0533 1.44106C24.5744 1.43203 25.0787 1.622 25.46 1.97096L33.5052 9.87312C33.8819 10.2435 34.0934 10.7456 34.0934 11.2692C34.0934 11.7927 33.8819 12.2948 33.5052 12.6652L25.46 20.5674Z" fill="#E5B442"/>
</svg>,
+2
View File
@@ -252,6 +252,8 @@ function AttributeModifiersTooltip({ data }: { data: NbtTag | undefined }) {
let first = true
return modifiers.map((e) => {
if (!e.isCompound()) return
const display = e.getCompound('display').getString('type')
if (display == 'hidden') return
const slot = e.has('slot') ? e.getString('slot') : 'any'
if (slot !== group) return
const wasFirst = first
@@ -24,7 +24,7 @@ export function FileCreation({ docAndNode, gen, method }: Props) {
const { project } = useProject()
const { client } = useSpyglass()
const [fileId, setFileId] = useState(gen.id === 'pack_mcmeta' ? 'pack' : '')
const [fileId, setFileId] = useState(gen.id === 'pack_mcmeta' ? 'pack' : gen.id === 'sounds' ? 'sounds' : '')
const [error, setError] = useState<string>()
const changeFileId = (str: string) => {
@@ -45,7 +45,9 @@ export function FileCreation({ docAndNode, gen, method }: Props) {
const projectRoot = getProjectRoot(project)
const uri = gen.id === 'pack_mcmeta'
? `${projectRoot}pack.mcmeta`
: `${projectRoot}${pack}/${id.namespace}/${genPath(gen, version)}/${id.path}${gen.ext ?? '.json'}`
: gen.id === 'sounds'
? `${projectRoot}assets/${id.namespace}/sounds.json`
: `${projectRoot}${pack}/${id.namespace}/${genPath(gen, version)}/${id.path}${gen.ext ?? '.json'}`
Analytics.saveProjectFile(method)
const text = docAndNode.doc.getText()
client.fs.writeFile(uri, text).then(() => {
+1 -1
View File
@@ -326,6 +326,7 @@ const selectRegistries = new Set([
'creative_mode_tab',
'data_component_predicate_type',
'data_component_type',
'dialog_action_type',
'dialog_body_type',
'dialog_type',
'enchantment_effect_component_type',
@@ -360,7 +361,6 @@ const selectRegistries = new Set([
'slot_display',
'spawn_condition_type',
'stat_type',
'submit_method_type',
'test_instance_type',
'test_environment_definition_type',
'trigger_type',
+58 -8
View File
@@ -8,15 +8,20 @@ import type { ListType, LiteralType, McdocType, NumericType, PrimitiveArrayType,
import { handleAttributes } from '@spyglassmc/mcdoc/lib/runtime/attribute/index.js'
import type { SimplifiedEnum, SimplifiedMcdocType, SimplifiedMcdocTypeNoUnion, SimplifiedStructType, SimplifiedStructTypePairField } from '@spyglassmc/mcdoc/lib/runtime/checker/index.js'
import { getValues } from '@spyglassmc/mcdoc/lib/runtime/completer/index.js'
import { Identifier, ItemStack } from 'deepslate'
import { Identifier as Identifier1204, ItemStack as ItemStack1204 } from 'deepslate-1.20.4/core'
import { Identifier, ItemStack } from 'deepslate/core'
import DOMPurify from 'dompurify'
import { marked } from 'marked'
import { useCallback, useEffect, useMemo, useState } from 'preact/hooks'
import config from '../../Config.js'
import { useLocale } from '../../contexts/Locale.jsx'
import { useVersion } from '../../contexts/Version.jsx'
import { useFocus } from '../../hooks/useFocus.js'
import { checkVersion } from '../../services/Versions.js'
import { generateColor, hexId, intToHexRgb, randomInt, randomSeed } from '../../Utils.js'
import { Btn } from '../Btn.jsx'
import { ItemDisplay } from '../ItemDisplay.jsx'
import { ItemDisplay1204 } from '../ItemDisplay1204.jsx'
import { Octicon } from '../Octicon.jsx'
import { formatIdentifier, getCategory, getChange, getDefault, getItemType, isDefaultCollapsedType, isFixedList, isInlineTuple, isListOrArray, isNumericType, isSelectRegistry, quickEqualTypes, simplifyType } from './McdocHelpers.js'
@@ -116,7 +121,7 @@ function Body({ type, optional, node, ctx }: Props<SimplifiedMcdocType>) {
return <></>
}
return <div class="node-body">
<ListBody type={type} node={node} ctx={ctx} />
<ListBody type={type} optional={optional} node={node} ctx={ctx} />
</div>
}
if (type.kind === 'tuple') {
@@ -200,9 +205,7 @@ function StringHead({ type, optional, excludeStrings, node, ctx }: Props<StringT
}, [onChangeValue])
return <>
{((idRegistry === 'item' || idRegistry === 'block') && idTags !== 'implicit' && value && !value.startsWith('#')) && <label>
<ItemDisplay item={new ItemStack(Identifier.parse(value), 1)} />
</label>}
{((idRegistry === 'item' || idRegistry === 'block') && idTags !== 'implicit' && value && !value.startsWith('#')) && <ItemIdPreview id={value}/>}
{isSelect ? <>
<select value={value === undefined ? SPECIAL_UNSET : value} onInput={(e) => onChangeValue((e.target as HTMLInputElement).value)}>
{(value === undefined || optional) && <option value={SPECIAL_UNSET}>{locale('unset')}</option>}
@@ -225,6 +228,27 @@ function StringHead({ type, optional, excludeStrings, node, ctx }: Props<StringT
</>
}
function ItemIdPreview({ id }: { id: string }) {
const { version } = useVersion()
const stack = useMemo(() => {
try {
if (!checkVersion(version, '1.20.5')) {
return new ItemStack1204(Identifier1204.parse(id), 1)
}
return new ItemStack(Identifier.parse(id), 1)
} catch (e) {
return undefined
}
}, [id, version])
return <>{stack && <label>
{stack instanceof ItemStack1204
? <ItemDisplay1204 item={stack} />
: <ItemDisplay item={stack} />}
</label>}</>
}
function EnumHead({ type, optional, excludeStrings, node, ctx }: Props<SimplifiedEnum>) {
const { locale } = useLocale()
@@ -408,6 +432,10 @@ function UnionHead({ type, optional, node, ctx }: Props<UnionType<SimplifiedMcdo
}
function formatUnionMember(type: SimplifiedMcdocTypeNoUnion, others: SimplifiedMcdocTypeNoUnion[]): string {
const memberNameAttribute = type.attributes?.find(a => a.name === 'misode_member_name')?.value
if (memberNameAttribute?.kind === 'literal' && memberNameAttribute.value.kind === 'string') {
return memberNameAttribute.value.value
}
if (type.kind === 'literal') {
return formatIdentifier(type.value.value.toString())
}
@@ -821,7 +849,7 @@ function ListHead({ type, node, ctx }: Props<ListType | PrimitiveArrayType>) {
</button>
}
function ListBody({ type: outerType, node, ctx }: Props<ListType | PrimitiveArrayType>) {
function ListBody({ type: outerType, optional, node, ctx }: Props<ListType | PrimitiveArrayType>) {
if (!JsonArrayNode.is(node)) {
return <></>
}
@@ -864,6 +892,21 @@ function ListBody({ type: outerType, node, ctx }: Props<ListType | PrimitiveArra
}
}, [type, node, ctx, canAdd])
const makeListEdit: MakeEdit = useCallback((edit) => {
ctx.makeEdit(() => {
const newNode = edit(node.range)
if (JsonArrayNode.is(newNode) && newNode.children.length === 0 && optional && type.kind === 'list' && (type.lengthRange?.min ?? 0) > 0) {
// Remove entire list when empty list is not allowed and field is optional
return undefined
}
return newNode
})
}, [ctx, node, optional, type])
const listCtx = useMemo(() => {
return { ...ctx, makeEdit: makeListEdit }
}, [ctx, makeListEdit])
return <>
{node.children.map((item, index) => {
if (index === maxShown) {
@@ -877,7 +920,7 @@ function ListBody({ type: outerType, node, ctx }: Props<ListType | PrimitiveArra
return <></>
}
const key = index.toString()
return <ListItem key={key} item={item} index={index} category={category} type={childType} isToggled={isToggled(key)} expand={expand(key)} collapse={collapse(key)} node={node} ctx={ctx} />
return <ListItem key={key} item={item} index={index} category={category} type={childType} isToggled={isToggled(key)} expand={expand(key)} collapse={collapse(key)} node={node} ctx={listCtx} />
})}
{node.children.length > 0 && <div class="node-header">
<button class="add tooltipped tip-se" aria-label={locale('add_bottom')} onClick={() => onAddBottom()} disabled={!canAdd}>
@@ -1185,9 +1228,16 @@ interface KeyProps {
function Key({ label, doc, raw }: KeyProps) {
const [shown, setShown] = useFocus()
const cleanDoc = useMemo(() => {
if (!doc) {
return doc
}
return DOMPurify.sanitize(marked(doc), { FORBID_ATTR: ['style'] })
}, [doc])
return <label onClick={() => setShown(true)}>
<span class={doc ? `underline ${shown ? '' : 'decoration-dotted hover:decoration-solid'}` : ''}>{raw ? label.toString() : formatIdentifier(label.toString())}</span>
{doc && <div class={`node-doc ${shown ? '' : 'hidden'}`} onClick={e => e.stopPropagation()} dangerouslySetInnerHTML={{ __html: marked(doc) }}></div>}
{cleanDoc && <div class={`node-doc ${shown ? '' : 'hidden'}`} onClick={e => e.stopPropagation()} dangerouslySetInnerHTML={{ __html: cleanDoc }}></div>}
</label>
}
+3 -1
View File
@@ -282,7 +282,7 @@ export class Deepslate {
this.settingsCache = settings.noise
const randomState = new this.d.RandomState(settings, seed)
return randomState.router.finalDensity
} else {
} else if (this.isVersion('1.18.2')) {
const random = this.d.XoroshiroRandom.create(seed).forkPositional()
const settings = this.d.NoiseSettings.fromJson({
min_y: minY,
@@ -297,6 +297,8 @@ export class Deepslate {
this.settingsCache = settings
const originalFn = this.d.DensityFunction.fromJson(state)
return originalFn.mapAll(new (this.d.NoiseRouter as any).Visitor(random, settings))
} else {
return undefined
}
}
@@ -107,8 +107,13 @@ function DialogActions({ dialog }: { dialog: any }) {
}
return <ColumnsGrid columns={dialog.columns ?? 2}>
{dialogs.map((d: any) => {
let text = Identifier.parse(d).path.replaceAll('/', ' ').replaceAll('_', ' ')
text = text.charAt(0).toUpperCase() + text.substring(1)
let text = ''
if (typeof d === 'string') {
text = Identifier.parse(d).path.replaceAll('/', ' ').replaceAll('_', ' ')
text = text.charAt(0).toUpperCase() + text.substring(1)
} else {
text = d?.external_title ?? d?.title ?? ''
}
return <Button label={text} width={dialog.button_width ?? 150} />
})}
</ColumnsGrid>
+23 -6
View File
@@ -311,7 +311,9 @@ const LootFunctions: Record<string, (params: any) => LootFunction> = {
})
},
enchant_with_levels: ({ options, levels }) => (item, ctx) => {
const allowed = getHomogeneousList(options, ctx.getEnchantmentTag)
const allowed = options
? getHomogeneousList(options, ctx.getEnchantmentTag)
: [...ctx.getEnchantments().keys()]
const selected = selectEnchantments(item, computeInt(levels, ctx), allowed, ctx)
if (item.is('book')) {
item.id = Identifier.create('enchanted_book')
@@ -646,7 +648,13 @@ function computeInt(provider: any, ctx: LootContext): number {
result += 1
}
}
return result
return result
case 'sum':
let sum = 0
for (const summand of provider.summands ?? []) {
sum += computeInt(summand, ctx)
}
return sum
}
return 0
}
@@ -672,7 +680,13 @@ function computeFloat(provider: any, ctx: LootContext): number {
result += 1
}
}
return result
return result
case 'sum':
let sum = 0
for (const summand of provider.summands ?? []) {
sum += computeFloat(summand, ctx)
}
return sum
}
return 0
}
@@ -805,9 +819,12 @@ interface Enchant {
}
function selectEnchantments(item: ResolvedItem, levels: number, options: string[], ctx: LootContext): Enchant[] {
const enchantable = item.get('enchantable', tag => tag.isCompound() ? tag.getNumber('value') : undefined)
if (enchantable === undefined) {
return []
let enchantable: number | undefined = 1 // Not fully correct before version 1.21.2
if (checkVersion(ctx.version, '1.21.2')) {
enchantable = item.get('enchantable', tag => tag.isCompound() ? tag.getNumber('value') : undefined)
if (enchantable === undefined) {
return []
}
}
let cost = levels + 1 + ctx.random.nextInt(Math.floor(enchantable / 4 + 1)) + ctx.random.nextInt(Math.floor(enchantable / 4 + 1))
const f = (ctx.random.nextFloat() + ctx.random.nextFloat() - 1) * 0.15
+173
View File
@@ -0,0 +1,173 @@
import { Identifier, ItemStack } from 'deepslate/core'
import type { VersionId } from '../../services/Versions.js'
import { checkVersion } from '../../services/Versions.js'
import { jsonToNbt } from '../../Utils.js'
export function placeItems(version: VersionId, recipe: any, animation: number, itemTags: Map<string, any>): Map<string, ItemStack> {
const items = new Map<string, ItemStack>()
const type: string = recipe.type?.replace(/^minecraft:/, '')
if (!type || type.startsWith('crafting_special') || type === 'crafting_decorated_pot') {
return items
}
if (type === 'crafting_shapeless') {
const ingredients: any[] = Array.isArray(recipe.ingredients) ? recipe.ingredients : []
ingredients.forEach((ingredient, i) => {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (i >= 0 && i < 9 && choices.length > 0) {
const choice = choices[(3 * i + animation) % choices.length]
items.set(`crafting.${i}`, choice)
}
})
} else if (type === 'crafting_shaped') {
const keys = new Map<string, ItemStack>()
for (const [key, ingredient] of Object.entries(recipe.key ?? {})) {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
keys.set(key, choice)
}
}
const pattern = Array.isArray(recipe.pattern) ? recipe.pattern : []
for (let row = 0; row < Math.min(3, pattern.length); row += 1) {
for (let col = 0; col < Math.min(3, pattern[row].length); col += 1) {
const key = pattern[row].split('')[col]
const choice = key === ' ' ? undefined : keys.get(key)
if (choice) {
items.set(`crafting.${row * 3 + col}`, choice)
}
}
}
} else if (type === 'crafting_transmute') {
const inputs = allIngredientChoices(version, recipe.input, itemTags)
if (inputs.length > 0) {
const choice = inputs[animation % inputs.length]
items.set('crafting.0', choice)
}
const materials = allIngredientChoices(version, recipe.material, itemTags)
if (materials.length > 0) {
const choice = materials[animation % materials.length]
items.set('crafting.1', choice)
}
} else if (type === 'crafting_dye') {
const target = allIngredientChoices(version, recipe.target, itemTags)
if (target.length > 0) {
const choice = target[animation % target.length]
items.set('crafting.0', choice)
}
const dye = allIngredientChoices(version, recipe.dye, itemTags)
if (dye.length > 0) {
const choice = dye[animation % dye.length]
items.set('crafting.1', choice)
}
} else if (type === 'crafting_imbue') {
const source = allIngredientChoices(version, recipe.source, itemTags)
if (source.length > 0) {
const choice = source[animation % source.length]
items.set('crafting.4', choice)
}
const material = allIngredientChoices(version, recipe.material, itemTags)
if (material.length > 0) {
const choice = material[animation % material.length]
items.set('crafting.0', choice)
items.set('crafting.1', choice)
items.set('crafting.2', choice)
items.set('crafting.3', choice)
items.set('crafting.5', choice)
items.set('crafting.6', choice)
items.set('crafting.7', choice)
items.set('crafting.8', choice)
}
} else if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('smelting.ingredient', choice)
}
} else if (type === 'stonecutting') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('stonecutting.ingredient', choice)
}
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
for (const ingredient of ['template', 'base', 'addition'] as const) {
const choices = allIngredientChoices(version, recipe[ingredient], itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set(`smithing.${ingredient}`, choice)
}
}
}
let resultSlot = 'crafting.result'
if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
resultSlot = 'smelting.result'
} else if (type === 'stonecutting') {
resultSlot = 'stonecutting.result'
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
resultSlot = 'smithing.result'
}
const result = recipe.result
if (type === 'smithing_trim') {
const base = items.get('smithing.base')
if (base) {
items.set(resultSlot, base)
}
} else if (typeof result === 'string') {
items.set(resultSlot, new ItemStack(Identifier.parse(result), 1))
} else if (typeof result === 'object' && result !== null) {
const id = typeof result.id === 'string' ? result.id
: typeof result.item === 'string' ? result.item
: 'minecraft:air'
if (id !== 'minecraft:air') {
const count = typeof result.count === 'number' ? result.count : 1
const components = new Map(Object.entries(result.components ?? {})
.map(([k, v]) => [k, jsonToNbt(v)]))
items.set(resultSlot, new ItemStack(Identifier.parse(id), count, components))
}
}
return items
}
function allIngredientChoices(version: VersionId, ingredient: any, itemTags: Map<string, any>): ItemStack[] {
if (Array.isArray(ingredient)) {
return ingredient.flatMap(i => allIngredientChoices(version, i, itemTags))
}
if (checkVersion(version, '1.21.2')) {
if (ingredient !== null) {
if (typeof ingredient === 'string') {
if (ingredient.startsWith('#')) {
return parseTag(version, ingredient.slice(1), itemTags)
}
return [new ItemStack(Identifier.parse(ingredient), 1)]
}
}
return [new ItemStack(Identifier.create('stone'), 1)]
} else {
if (typeof ingredient === 'object' && ingredient !== null) {
if (typeof ingredient.item === 'string') {
return [new ItemStack(Identifier.parse(ingredient.item), 1)]
} else if (typeof ingredient.tag === 'string') {
return parseTag(version, ingredient.tag, itemTags)
}
}
}
return []
}
function parseTag(version: VersionId, tagId: any, itemTags: Map<string, any>): ItemStack[] {
const tag: any = itemTags.get(tagId.replace(/^minecraft:/, ''))
if (typeof tag === 'object' && tag !== null && Array.isArray(tag.values)) {
return tag.values.flatMap((value: any) => {
if (typeof value !== 'string') return []
if (value.startsWith('#')) return parseTag(version, value.slice(1), itemTags)
return [new ItemStack(Identifier.parse(value), 1)]
})
}
return []
}
+127
View File
@@ -0,0 +1,127 @@
import { Identifier, ItemStack } from 'deepslate-1.20.4/core'
import type { VersionId } from '../../services/Versions.js'
export function placeItems(version: VersionId, recipe: any, animation: number, itemTags: Map<string, any>): Map<string, ItemStack> {
const items = new Map<string, ItemStack>()
const type: string = recipe.type?.replace(/^minecraft:/, '')
if (!type || type.startsWith('crafting_special') || type === 'crafting_decorated_pot') {
return items
}
if (type === 'crafting_shapeless') {
const ingredients: any[] = Array.isArray(recipe.ingredients) ? recipe.ingredients : []
ingredients.forEach((ingredient, i) => {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (i >= 0 && i < 9 && choices.length > 0) {
const choice = choices[(3 * i + animation) % choices.length]
items.set(`crafting.${i}`, choice)
}
})
} else if (type === 'crafting_shaped') {
const keys = new Map<string, ItemStack>()
for (const [key, ingredient] of Object.entries(recipe.key ?? {})) {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
keys.set(key, choice)
}
}
const pattern = Array.isArray(recipe.pattern) ? recipe.pattern : []
for (let row = 0; row < Math.min(3, pattern.length); row += 1) {
for (let col = 0; col < Math.min(3, pattern[row].length); col += 1) {
const key = pattern[row].split('')[col]
const choice = key === ' ' ? undefined : keys.get(key)
if (choice) {
items.set(`crafting.${row * 3 + col}`, choice)
}
}
}
} else if (type === 'crafting_transmute') {
const inputs = allIngredientChoices(version, recipe.input, itemTags)
if (inputs.length > 0) {
const choice = inputs[animation % inputs.length]
items.set('crafting.0', choice)
}
const materials = allIngredientChoices(version, recipe.material, itemTags)
if (materials.length > 0) {
const choice = materials[animation % materials.length]
items.set('crafting.1', choice)
}
} else if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('smelting.ingredient', choice)
}
} else if (type === 'stonecutting') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('stonecutting.ingredient', choice)
}
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
for (const ingredient of ['template', 'base', 'addition'] as const) {
const choices = allIngredientChoices(version, recipe[ingredient], itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set(`smithing.${ingredient}`, choice)
}
}
}
let resultSlot = 'crafting.result'
if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
resultSlot = 'smelting.result'
} else if (type === 'stonecutting') {
resultSlot = 'stonecutting.result'
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
resultSlot = 'smithing.result'
}
const result = recipe.result
if (type === 'smithing_trim') {
const base = items.get('smithing.base')
if (base) {
items.set(resultSlot, base)
}
} else if (typeof result === 'string') {
items.set(resultSlot, new ItemStack(Identifier.parse(result), 1))
} else if (typeof result === 'object' && result !== null) {
const id = typeof result.id === 'string' ? result.id
: typeof result.item === 'string' ? result.item
: 'minecraft:air'
if (id !== 'minecraft:air') {
const count = typeof result.count === 'number' ? result.count : 1
items.set(resultSlot, new ItemStack(Identifier.parse(id), count))
}
}
return items
}
function allIngredientChoices(version: VersionId, ingredient: any, itemTags: Map<string, any>): ItemStack[] {
if (Array.isArray(ingredient)) {
return ingredient.flatMap(i => allIngredientChoices(version, i, itemTags))
}
if (typeof ingredient === 'object' && ingredient !== null) {
if (typeof ingredient.item === 'string') {
return [new ItemStack(Identifier.parse(ingredient.item), 1)]
} else if (typeof ingredient.tag === 'string') {
return parseTag(version, ingredient.tag, itemTags)
}
}
return []
}
function parseTag(version: VersionId, tagId: any, itemTags: Map<string, any>): ItemStack[] {
const tag: any = itemTags.get(tagId.replace(/^minecraft:/, ''))
if (typeof tag === 'object' && tag !== null && Array.isArray(tag.values)) {
return tag.values.flatMap((value: any) => {
if (typeof value !== 'string') return []
if (value.startsWith('#')) return parseTag(version, value.slice(1), itemTags)
return [new ItemStack(Identifier.parse(value), 1)]
})
}
return []
}
+16 -150
View File
@@ -1,19 +1,21 @@
import { Identifier, ItemStack } from 'deepslate'
import { useEffect, useMemo, useRef, useState } from 'preact/hooks'
import { useLocale, useVersion } from '../../contexts/index.js'
import { useAsync } from '../../hooks/useAsync.js'
import type { VersionId } from '../../services/index.js'
import { checkVersion, fetchAllPresets } from '../../services/index.js'
import { jsonToNbt, safeJsonParse } from '../../Utils.js'
import { safeJsonParse } from '../../Utils.js'
import { Btn, BtnMenu } from '../index.js'
import { ItemDisplay } from '../ItemDisplay.jsx'
import { ItemDisplay1204 } from '../ItemDisplay1204.jsx'
import type { PreviewProps } from './index.js'
import { placeItems } from './Recipe.js'
import { placeItems as placeItems1204 } from './Recipe1204.js'
const ANIMATION_TIME = 1000
export const RecipePreview = ({ docAndNode }: PreviewProps) => {
const { locale } = useLocale()
const { version } = useVersion()
const use1204 = !checkVersion(version, '1.20.5')
const [advancedTooltips, setAdvancedTooltips] = useState(true)
const [animation, setAnimation] = useState(0)
const overlay = useRef<HTMLDivElement>(null)
@@ -31,9 +33,12 @@ export const RecipePreview = ({ docAndNode }: PreviewProps) => {
const text = docAndNode.doc.getText()
const recipe = safeJsonParse(text) ?? {}
const items = useMemo<Map<Slot, ItemStack>>(() => {
const items = useMemo(() => {
if (use1204) {
return placeItems1204(version, recipe, animation, itemTags ?? new Map())
}
return placeItems(version, recipe, animation, itemTags ?? new Map())
}, [text, animation, itemTags])
}, [use1204, text, animation, itemTags])
const gui = useMemo(() => {
const type = recipe?.type?.replace(/^minecraft:/, '')
@@ -53,7 +58,9 @@ export const RecipePreview = ({ docAndNode }: PreviewProps) => {
<img src={gui} alt="Crafting GUI" class="pixelated" draggable={false} />
{[...items.entries()].map(([slot, item]) =>
<div key={slot} style={slotStyle(slot)}>
<ItemDisplay item={item} slotDecoration={true} advancedTooltip={advancedTooltips} />
{use1204
? <ItemDisplay1204 item={item as any} slotDecoration={true} advancedTooltip={advancedTooltips} />
: <ItemDisplay item={item as any} slotDecoration={true} advancedTooltip={advancedTooltips} />}
</div>
)}
</div>
@@ -68,7 +75,7 @@ export const RecipePreview = ({ docAndNode }: PreviewProps) => {
const GUI_WIDTH = 176
const GUI_HEIGHT = 81
const SLOT_SIZE = 18
const SLOTS = {
const SLOTS: Record<string, [number, number]> = {
'crafting.0': [29, 16],
'crafting.1': [47, 16],
'crafting.2': [65, 16],
@@ -89,10 +96,9 @@ const SLOTS = {
'smithing.addition': [43, 47],
'smithing.result': [97, 47],
}
type Slot = keyof typeof SLOTS
function slotStyle(slot: Slot) {
const [x, y] = SLOTS[slot]
function slotStyle(slot: string) {
const [x, y] = SLOTS[slot] ?? [0, 0]
return {
left: `${x*100/GUI_WIDTH}%`,
top: `${y*100/GUI_HEIGHT}%`,
@@ -100,143 +106,3 @@ function slotStyle(slot: Slot) {
height: `${SLOT_SIZE*100/GUI_HEIGHT}%`,
}
}
function placeItems(version: VersionId, recipe: any, animation: number, itemTags: Map<string, any>) {
const items = new Map<Slot, ItemStack>()
const type: string = recipe.type?.replace(/^minecraft:/, '')
if (!type || type.startsWith('crafting_special') || type === 'crafting_decorated_pot') {
return items
}
if (type === 'crafting_shapeless') {
const ingredients: any[] = Array.isArray(recipe.ingredients) ? recipe.ingredients : []
ingredients.forEach((ingredient, i) => {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (i >= 0 && i < 9 && choices.length > 0) {
const choice = choices[(3 * i + animation) % choices.length]
items.set(`crafting.${i}` as Slot, choice)
}
})
} else if (type === 'crafting_shaped') {
const keys = new Map<string, ItemStack>()
for (const [key, ingredient] of Object.entries(recipe.key ?? {})) {
const choices = allIngredientChoices(version, ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
keys.set(key, choice)
}
}
const pattern = Array.isArray(recipe.pattern) ? recipe.pattern : []
for (let row = 0; row < Math.min(3, pattern.length); row += 1) {
for (let col = 0; col < Math.min(3, pattern[row].length); col += 1) {
const key = pattern[row].split('')[col]
const choice = key === ' ' ? undefined : keys.get(key)
if (choice) {
items.set(`crafting.${row * 3 + col}` as Slot, choice)
}
}
}
} else if (type === 'crafting_transmute') {
const inputs = allIngredientChoices(version, recipe.input, itemTags)
if (inputs.length > 0) {
const choice = inputs[animation % inputs.length]
items.set('crafting.0', choice)
}
const materials = allIngredientChoices(version, recipe.material, itemTags)
if (materials.length > 0) {
const choice = materials[animation % materials.length]
items.set('crafting.1', choice)
}
} else if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('smelting.ingredient' as Slot, choice)
}
} else if (type === 'stonecutting') {
const choices = allIngredientChoices(version, recipe.ingredient, itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set('stonecutting.ingredient' as Slot, choice)
}
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
for (const ingredient of ['template', 'base', 'addition'] as const) {
const choices = allIngredientChoices(version, recipe[ingredient], itemTags)
if (choices.length > 0) {
const choice = choices[animation % choices.length]
items.set(`smithing.${ingredient}`, choice)
}
}
}
let resultSlot: Slot = 'crafting.result'
if (type === 'smelting' || type === 'smoking' || type === 'blasting' || type === 'campfire_cooking') {
resultSlot = 'smelting.result'
} else if (type === 'stonecutting') {
resultSlot = 'stonecutting.result'
} else if (type === 'smithing_transform' || type === 'smithing_trim') {
resultSlot = 'smithing.result'
}
const result = recipe.result
if (type === 'smithing_trim') {
const base = items.get('smithing.base')
if (base) {
items.set(resultSlot, base)
}
} else if (typeof result === 'string') {
items.set(resultSlot, new ItemStack(Identifier.parse(result), 1))
} else if (typeof result === 'object' && result !== null) {
const id = typeof result.id === 'string' ? result.id
: typeof result.item === 'string' ? result.item
: 'minecraft:air'
if (id !== 'minecraft:air') {
const count = typeof result.count === 'number' ? result.count : 1
const components = new Map(Object.entries(result.components ?? {})
.map(([k, v]) => [k, jsonToNbt(v)]))
items.set(resultSlot, new ItemStack(Identifier.parse(id), count, components))
}
}
return items
}
function allIngredientChoices(version: VersionId, ingredient: any, itemTags: Map<string, any>): ItemStack[] {
if (Array.isArray(ingredient)) {
return ingredient.flatMap(i => allIngredientChoices(version, i, itemTags))
}
if (checkVersion(version, '1.21.2')) {
if (ingredient !== null) {
if (typeof ingredient === 'string') {
if (ingredient.startsWith('#')) {
return parseTag(version, ingredient.slice(1), itemTags)
}
return [new ItemStack(Identifier.parse(ingredient), 1)]
}
}
return [new ItemStack(Identifier.create('stone'), 1)]
} else {
if (typeof ingredient === 'object' && ingredient !== null) {
if (typeof ingredient.item === 'string') {
return [new ItemStack(Identifier.parse(ingredient.item), 1)]
} else if (typeof ingredient.tag === 'string') {
return parseTag(version, ingredient.tag, itemTags)
}
}
}
return []
}
function parseTag(version: VersionId, tagId: any, itemTags: Map<string, any>): ItemStack[] {
const tag: any = itemTags.get(tagId.replace(/^minecraft:/, ''))
if (typeof tag === 'object' && tag !== null && Array.isArray(tag.values)) {
return tag.values.flatMap((value: any) => {
if (typeof value !== 'string') return []
if (value.startsWith('#')) return parseTag(version, value.slice(1), itemTags)
return [new ItemStack(Identifier.parse(value), 1)]
})
}
return []
}
-15
View File
@@ -1,15 +0,0 @@
import type { Bugfix } from '../../services/DataFetcher.js'
import { Badge } from '../Badge.jsx'
import { Card } from '../Card.jsx'
interface Props {
fix: Bugfix
}
export function Issue({ fix }: Props) {
return <Card overlay={fix.id} link={`https://mojira.dev/${fix.id}`}>
<div class="changelog-content">{fix.summary}</div>
<div class="badges-list">
{fix.categories.map(c => <Badge label={c} />)}
</div>
</Card>
}
-22
View File
@@ -1,22 +0,0 @@
import { useLocale } from '../../contexts/Locale.jsx'
import { useAsync } from '../../hooks/useAsync.js'
import { fetchBugfixes } from '../../services/DataFetcher.js'
import { Issue } from './Issue.jsx'
interface Props {
version: string
}
export function IssueList({ version }: Props) {
const { locale } = useLocale()
const { value: issues, loading } = useAsync(() => fetchBugfixes(version), [version])
return <div class="card-column">
{issues === undefined || loading ? <>
<span class="note">{locale('loading')}</span>
</> : issues.length === 0 ? <>
<span class="note">{locale('versions.fixes.no_results')}</span>
</> : <>
{issues?.map(issue => <Issue key={issue.id} fix={issue} />)}
</>}
</div>
}
+103 -6
View File
@@ -4,11 +4,11 @@ import { useLocale } from '../../contexts/index.js'
import { useAsync } from '../../hooks/useAsync.js'
import { useSearchParam } from '../../hooks/useSearchParam.js'
import type { VersionMeta } from '../../services/index.js'
import { fetchChangelogs, getArticleLink } from '../../services/index.js'
import { fetchChangelogs } from '../../services/index.js'
import { Octicon } from '../Octicon.js'
import { ChangelogList, IssueList, VersionDiff, VersionMetaData } from './index.js'
import { ChangelogList, VersionDiff, VersionMetaData } from './index.js'
const Tabs = ['changelog', 'diff', 'fixes']
const Tabs = ['changelog', 'diff']
const WIKI_PAGE_PREFIX = 'https://minecraft.wiki/w/Java_Edition_'
interface Props {
@@ -31,6 +31,7 @@ export function VersionDetail({ id, version }: Props) {
changes?.filter(c => c.version === id || (c.group === id && !c.tags.includes('obsolete'))),
[id, changes])
const fixesLink = version && getFixesLink(version.id)
const articleLink = version && getArticleLink(version.id)
const wikiPageLink = version && WIKI_PAGE_PREFIX + version.name
@@ -43,8 +44,8 @@ export function VersionDetail({ id, version }: Props) {
{version.release_target !== null && <VersionMetaData label={locale('versions.release_target')} value={version.release_target} link={version.id !== version.release_target ? `/versions/?id=${version.release_target}` : undefined} />}
<VersionMetaData label={locale('versions.data_version')} value={version.data_version} />
<VersionMetaData label={locale('versions.protocol_version')} value={version.protocol_version} />
<VersionMetaData label={locale('versions.data_pack_format')} value={version.data_pack_version} />
<VersionMetaData label={locale('versions.resource_pack_format')} value={version.resource_pack_version} />
<VersionMetaData label={locale('versions.data_pack_format')} value={new Date(version.release_time) > new Date(2025, 6, 28) ? `${version.data_pack_version}.${version.data_pack_version_minor}` : version.data_pack_version} />
<VersionMetaData label={locale('versions.resource_pack_format')} value={new Date(version.release_time) > new Date(2025, 6, 28) ? `${version.resource_pack_version}.${version.resource_pack_version_minor}` : version.resource_pack_version} />
</> : filteredChangelogs?.length ?? 0 > 1 ? <p>
This version is not released yet.
</p> : <p>
@@ -55,6 +56,10 @@ export function VersionDetail({ id, version }: Props) {
{Tabs.map(t => <Link key={t} class={tab === t ? 'selected' : ''} href={`/versions/?id=${id}&tab=${t}`}>
{locale(`versions.${t}`)}
</Link>)}
<a href={fixesLink} target="_blank">
{locale('versions.fixes')}
{Octicon.link_external}
</a>
{articleLink && <a href={articleLink} target="_blank">
{locale('versions.article')}
{Octicon.link_external}
@@ -67,7 +72,6 @@ export function VersionDetail({ id, version }: Props) {
<div class="version-tab">
{tab === 'changelog' && <ChangelogList changes={filteredChangelogs} defaultOrder="asc" />}
{tab === 'diff' && <VersionDiff version={id} />}
{tab === 'fixes' && <IssueList version={id} />}
</div>
</div>
</>
@@ -76,3 +80,96 @@ export function VersionDetail({ id, version }: Props) {
export function releaseDate(version: VersionMeta) {
return new Date(version.release_time).toLocaleDateString(undefined, { day: 'numeric', month: 'short', year: 'numeric' })
}
const FIXES_PREFIX = 'https://mojira.dev/?project=MC&resolution=Fixed&fix_version='
function getFixesLink(version: string) {
let match
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-snapshot-(\d+)$/)) && match[1] && match[2]) {
return FIXES_PREFIX + encodeURIComponent(`${match[1]} Snapshot ${match[2]}`)
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-pre-?(\d+)$/)) && match[1] && match[2]) {
return FIXES_PREFIX + encodeURIComponent(`${match[1]} Pre-Release ${match[2]}`)
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-rc-?(\d+)$/)) && match[1]) {
return FIXES_PREFIX + encodeURIComponent(`${match[1]} Release Candidate ${match[2]}`)
}
return FIXES_PREFIX + encodeURIComponent(version)
}
const ARTICLE_PREFIX = 'https://www.minecraft.net/article/'
const ARTICLE_OVERRIDES = new Map(Object.entries({
'1.16-pre2': 'minecraft-1-16-pre-release-1',
'1.16-pre4': 'minecraft-1-16-pre-release-3',
'1.16-pre5': 'minecraft-1-16-pre-release-3',
'1.16-pre7': 'minecraft-1-16-pre-release-6',
'1.16-pre8': 'minecraft-1-16-pre-release-6',
'1.16-rc1': 'minecraft-1-16-release-candidate',
'1.16': 'nether-update-java',
'1.16.2-pre3': 'minecraft-1-16-2-pre-release-2',
'1.16.2-rc1': 'minecraft-1-16-2-pre-release-2',
'1.16.2-rc2': 'minecraft-1-16-2-pre-release-2',
'1.17-pre3': 'minecraft-1-17-pre-release-2',
'1.17-pre4': 'minecraft-1-17-pre-release-2',
'1.17-pre5': 'minecraft-1-17-pre-release-2',
'1.17.1-pre3': 'minecraft-1-17-1-pre-release-2',
'1.17-rc2': 'minecraft-1-17-release-candidate-1',
'1.17': 'caves---cliffs--part-i-out-today-java',
'1.17.1-rc2': 'minecraft-1-17-1-release-candidate-1',
'1.18-pre3': 'minecraft-1-18-pre-release-2',
'1.18-pre4': 'minecraft-1-18-pre-release-2',
'1.18-pre5': 'minecraft-1-18-pre-release-2',
'1.18-pre7': 'minecraft-1-18-pre-release-6',
'1.18-pre8': 'minecraft-1-18-pre-release-6',
'1.18-rc2': 'minecraft-1-18-release-candidate-1',
'1.18-rc3': 'minecraft-1-18-release-candidate-1',
'1.18-rc4': 'minecraft-1-18-release-candidate-1',
'1.18': 'caves---cliffs--part-ii-out-today-java',
'1.18.1-rc2': 'minecraft-1-18-1-release-candidate-1',
'1.18.1-rc3': 'minecraft-1-18-1-release-candidate-1',
'1.18.2-pre3': 'minecraft-1-18-2-pre-release-2',
'1.18.2-pre5': 'minecraft-1-18-2-pre-release-4',
'1.19-pre3': 'minecraft-1-19-pre-release-2',
'1.19-pre5': 'minecraft-1-19-pre-release-4',
'1.19-rc2': 'minecraft-1-19-release-candidate-1',
'1.19': 'the-wild-update-out-today-java',
'1.19.1-pre4': 'minecraft-1-19-1-pre-release-3',
'1.19.2-rc2': 'minecraft-1-19-2-release-candidate-1',
'1.19.3-pre2': 'minecraft-1-19-3-pre-release-1',
'1.19.3-rc2': 'minecraft-1-19-3-release-candidate-1',
'1.19.4-pre3': 'minecraft-1-19-4-pre-release-2',
'1.19.4-rc2': 'minecraft-1-19-4-release-candidate-1',
'1.20-pre3': 'minecraft-1-20-pre-release-2',
'1.20-pre4': 'minecraft-1-20-pre-release-2',
'1.20-pre6': 'minecraft-1-20-pre-release-5',
'1.20': 'trails-tales-update-out-today-java',
'1.20.1': 'minecraft--java-edition-1-20-1',
'1.20.2-pre2': 'minecraft-1-20-2-pre-release-1',
'23w43b': 'minecraft-snapshot-23w43b',
'24w03b': 'minecraft-snapshot-24w03b',
'24w05b': 'minecraft-snapshot-24w05b',
}))
function getArticleLink(version: string): string | undefined {
const override = ARTICLE_OVERRIDES.get(version)
if (override) {
return ARTICLE_PREFIX + override
}
let match
if ((match = version.match(/^(\d\dw\d\d)[a-z]$/)) && match[1]) {
return ARTICLE_PREFIX + 'minecraft-snapshot-' + match[1] + 'a'
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-snapshot-(\d+)$/)) && match[1] && match[2]) {
return ARTICLE_PREFIX + 'minecraft-' + match[1].replaceAll('.', '-') + '-snapshot-' + match[2]
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-pre-?(\d+)$/)) && match[1] && match[2]) {
return ARTICLE_PREFIX + 'minecraft-' + match[1].replaceAll('.', '-') + '-pre-release-' + match[2]
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-rc-?(\d+)$/)) && match[1]) {
return ARTICLE_PREFIX + 'minecraft-' + match[1].replaceAll('.', '-') + '-release-candidate-' + match[2]
}
if (version.match(/^\d+\.\d+(\.\d+)?$/)) {
return ARTICLE_PREFIX + 'minecraft-java-edition-' + version.replaceAll('.', '-')
}
return undefined
}
+1 -1
View File
@@ -13,6 +13,6 @@ export function VersionEntry({ version, link }: Props) {
<span class="version-id">{version.id}</span>
<VersionMetaData label={locale('versions.released')} value={releaseDate(version)} compact />
<VersionMetaData label={locale('versions.data_version')} value={version.data_version} optional />
<VersionMetaData label={locale('versions.pack_format')} value={version.data_pack_version} optional />
<VersionMetaData label={locale('versions.data_pack_format')} value={new Date(version.release_time) > new Date(2025, 6, 28) ? `${version.data_pack_version}.${version.data_pack_version_minor}` : version.data_pack_version} optional />
</a>
}
-1
View File
@@ -1,7 +1,6 @@
export * from '../Badge.jsx'
export * from './ChangelogEntry.js'
export * from './ChangelogList.js'
export * from './IssueList.jsx'
export * from './VersionDetail.js'
export * from './VersionDiff.jsx'
export * from './VersionEntry.js'
+3 -1
View File
@@ -95,7 +95,9 @@ export function ProjectProvider({ children }: { children: ComponentChildren }) {
const { namespace, path } = Identifier.parse(file.id)
const uri = type === 'pack_mcmeta'
? `${projectRoot}data/pack.mcmeta`
: `${projectRoot}data/${namespace}/${type}/${path}${gen.ext ?? '.json'}`
: type === 'sounds'
? `${projectRoot}assets/${namespace}/sounds.json`
: `${projectRoot}data/${namespace}/${type}/${path}${gen.ext ?? '.json'}`
return SpyglassClient.FS.writeFile(uri, JSON.stringify(file.data, null, 2))
}))
}
+3 -3
View File
@@ -1,12 +1,12 @@
import { getCurrentUrl, route } from 'preact-router'
import { useMemo } from 'preact/hooks'
import config from '../Config.js'
import { getGenerator } from '../Utils.js'
import { SchemaGenerator } from '../components/generator/SchemaGenerator.jsx'
import { ErrorPanel, Octicon } from '../components/index.js'
import config from '../Config.js'
import { useLocale, useTitle, useVersion } from '../contexts/index.js'
import type { VersionId } from '../services/index.js'
import { checkVersion } from '../services/index.js'
import { getGenerator } from '../Utils.js'
export const SHARE_KEY = 'share'
@@ -19,7 +19,7 @@ export function Generator({}: Props) {
const gen = getGenerator(getCurrentUrl())
if (!gen) {
return <main><ErrorPanel error={locale('generator.not_found', getCurrentUrl())} /></main>
return <main><ErrorPanel error={locale('generator.not_found', getCurrentUrl())} reportable={false} /></main>
}
const allowedVersions = useMemo(() => {
+1 -1
View File
@@ -95,7 +95,7 @@ function Tools() {
<ToolCard title="Report Inspector" icon="report"
link="https://misode.github.io/report/"
desc="Analyse your performance reports" />
<ToolCard title="Minecraft Sounds" icon="sounds"
<ToolCard title="Minecraft Sounds" icon="sound_explorer"
link="/sounds/"
desc="Browse through and mix all the vanilla sounds" />
<ToolCard title="Transformation preview"
+24 -24
View File
@@ -336,35 +336,35 @@ class MeshRenderer extends Renderer {
this.mesh = new Mesh([
new Quad( // E
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [0.25, 0.50], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [0.25, 0.25], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.00, 0.25], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.00, 0.50], undefined, undefined)),
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [0.25, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [0.25, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.00, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.00, 0.50], [0, 0, 0, 0], undefined, undefined)),
new Quad( // W
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.75, 0.50], undefined, undefined),
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.75, 0.25], undefined, undefined),
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.50, 0.25], undefined, undefined),
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.50, 0.50], undefined, undefined)),
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.75, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.75, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.50, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.50, 0.50], [0, 0, 0, 0], undefined, undefined)),
new Quad( // U
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.25, 0.25], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.50, 0.25], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [0.50, 0.00], undefined, undefined),
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.25, 0.00], undefined, undefined)),
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.25, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.50, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [0.50, 0.00], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.25, 0.00], [0, 0, 0, 0], undefined, undefined)),
new Quad( // D
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.50, 0.25], undefined, undefined),
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [0.75, 0.25], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.75, 0.00], undefined, undefined),
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.50, 0.00], undefined, undefined)),
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.50, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [0.75, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.75, 0.00], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.50, 0.00], [0, 0, 0, 0], undefined, undefined)),
new Quad( // S
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.25, 0.50], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.50, 0.50], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.50, 0.25], undefined, undefined),
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.25, 0.25], undefined, undefined)),
new Vertex(new Vector(0, 0, 1), [0, 0, 0], [0.25, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 0, 1), [0, 0, 0], [0.50, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 1), [0, 0, 0], [0.50, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 1, 1), [0, 0, 0], [0.25, 0.25], [0, 0, 0, 0], undefined, undefined)),
new Quad( // N
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.75, 0.50], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [1.00, 0.50], undefined, undefined),
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [1.00, 0.25], undefined, undefined),
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.75, 0.25], undefined, undefined)),
new Vertex(new Vector(0, 1, 0), [0, 0, 0], [0.75, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 1, 0), [0, 0, 0], [1.00, 0.50], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(1, 0, 0), [0, 0, 0], [1.00, 0.25], [0, 0, 0, 0], undefined, undefined),
new Vertex(new Vector(0, 0, 0), [0, 0, 0], [0.75, 0.25], [0, 0, 0, 0], undefined, undefined)),
])
for (const q of this.mesh.quads) {
const normal = q.normal()
-74
View File
@@ -1,74 +0,0 @@
const ARTICLE_PREFIX = 'https://www.minecraft.net/article/'
const ARTICLE_OVERRIDES = new Map(Object.entries({
'1.16-pre2': 'minecraft-1-16-pre-release-1',
'1.16-pre4': 'minecraft-1-16-pre-release-3',
'1.16-pre5': 'minecraft-1-16-pre-release-3',
'1.16-pre7': 'minecraft-1-16-pre-release-6',
'1.16-pre8': 'minecraft-1-16-pre-release-6',
'1.16-rc1': 'minecraft-1-16-release-candidate',
'1.16': 'nether-update-java',
'1.16.2-pre3': 'minecraft-1-16-2-pre-release-2',
'1.16.2-rc1': 'minecraft-1-16-2-pre-release-2',
'1.16.2-rc2': 'minecraft-1-16-2-pre-release-2',
'1.17-pre3': 'minecraft-1-17-pre-release-2',
'1.17-pre4': 'minecraft-1-17-pre-release-2',
'1.17-pre5': 'minecraft-1-17-pre-release-2',
'1.17.1-pre3': 'minecraft-1-17-1-pre-release-2',
'1.17-rc2': 'minecraft-1-17-release-candidate-1',
'1.17': 'caves---cliffs--part-i-out-today-java',
'1.17.1-rc2': 'minecraft-1-17-1-release-candidate-1',
'1.18-pre3': 'minecraft-1-18-pre-release-2',
'1.18-pre4': 'minecraft-1-18-pre-release-2',
'1.18-pre5': 'minecraft-1-18-pre-release-2',
'1.18-pre7': 'minecraft-1-18-pre-release-6',
'1.18-pre8': 'minecraft-1-18-pre-release-6',
'1.18-rc2': 'minecraft-1-18-release-candidate-1',
'1.18-rc3': 'minecraft-1-18-release-candidate-1',
'1.18-rc4': 'minecraft-1-18-release-candidate-1',
'1.18': 'caves---cliffs--part-ii-out-today-java',
'1.18.1-rc2': 'minecraft-1-18-1-release-candidate-1',
'1.18.1-rc3': 'minecraft-1-18-1-release-candidate-1',
'1.18.2-pre3': 'minecraft-1-18-2-pre-release-2',
'1.18.2-pre5': 'minecraft-1-18-2-pre-release-4',
'1.19-pre3': 'minecraft-1-19-pre-release-2',
'1.19-pre5': 'minecraft-1-19-pre-release-4',
'1.19-rc2': 'minecraft-1-19-release-candidate-1',
'1.19': 'the-wild-update-out-today-java',
'1.19.1-pre4': 'minecraft-1-19-1-pre-release-3',
'1.19.2-rc2': 'minecraft-1-19-2-release-candidate-1',
'1.19.3-pre2': 'minecraft-1-19-3-pre-release-1',
'1.19.3-rc2': 'minecraft-1-19-3-release-candidate-1',
'1.19.4-pre3': 'minecraft-1-19-4-pre-release-2',
'1.19.4-rc2': 'minecraft-1-19-4-release-candidate-1',
'1.20-pre3': 'minecraft-1-20-pre-release-2',
'1.20-pre4': 'minecraft-1-20-pre-release-2',
'1.20-pre6': 'minecraft-1-20-pre-release-5',
'1.20': 'trails-tales-update-out-today-java',
'1.20.1': 'minecraft--java-edition-1-20-1',
'1.20.2-pre2': 'minecraft-1-20-2-pre-release-1',
'23w43b': 'minecraft-snapshot-23w43b',
'24w03b': 'minecraft-snapshot-24w03b',
'24w05b': 'minecraft-snapshot-24w05b',
}))
export function getArticleLink(version: string): string | undefined {
const override = ARTICLE_OVERRIDES.get(version)
if (override) {
return ARTICLE_PREFIX + override
}
let match
if ((match = version.match(/^(\d\dw\d\d)[a-z]$/)) && match[1]) {
return ARTICLE_PREFIX + 'minecraft-snapshot-' + match[1] + 'a'
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-pre([0-9]+)$/)) && match[1] && match[2]) {
return ARTICLE_PREFIX + 'minecraft-' + match[1].replaceAll('.', '-') + '-pre-release-' + match[2]
}
if ((match = version.match(/^(\d+\.\d+(?:\.\d+)?)-rc([0-9]+)$/)) && match[1]) {
return ARTICLE_PREFIX + 'minecraft-' + match[1].replaceAll('.', '-') + '-release-candidate-' + match[2]
}
if (version.match(/^\d+\.\d+(\.\d+)?$/)) {
return ARTICLE_PREFIX + 'minecraft-java-edition-' + version.replaceAll('.', '-')
}
return undefined
}
+2 -26
View File
@@ -14,7 +14,6 @@ const mcmetaUrl = 'https://raw.githubusercontent.com/misode/mcmeta'
const mcmetaTarballUrl = 'https://github.com/misode/mcmeta/tarball'
const vanillaMcdocUrl = 'https://raw.githubusercontent.com/SpyglassMC/vanilla-mcdoc'
const changesUrl = 'https://raw.githubusercontent.com/misode/technical-changes'
const fixesUrl = 'https://raw.githubusercontent.com/misode/mcfixes'
const versionDiffUrl = 'https://mcmeta-diff.misode.workers.dev'
const whatsNewUrl = 'https://whats-new.misode.workers.dev'
@@ -193,7 +192,9 @@ export type VersionMeta = {
data_version: number,
protocol_version: number,
data_pack_version: number,
data_pack_version_minor?: number,
resource_pack_version: number,
resource_pack_version_minor?: number,
build_time: string,
release_time: string,
sha1: string,
@@ -307,31 +308,6 @@ export async function fetchChangelogs(): Promise<Change[]> {
}
}
export interface Bugfix {
id: string,
summary: string,
labels: string[],
status: string,
confirmation_status: string,
categories: string[],
priority: string,
fix_versions: string[],
creation_date: string,
resolution_date: string,
updated_date: string,
watches: number,
votes: number,
}
export async function fetchBugfixes(version: string): Promise<Bugfix[]> {
try {
const fixes = await cachedFetch<Bugfix[]>(`${fixesUrl}/main/versions/${version}.json`, { refresh: true })
return fixes
} catch (e) {
throw new Error(`Error occured while fetching bugfixes for version ${version}: ${message(e)}`)
}
}
export interface GitHubCommitFile {
sha: string,
filename: string,
+7 -16
View File
@@ -256,6 +256,9 @@ export class SpyglassService {
if (gen.id === 'pack_mcmeta') {
return `${UNSAVED_URI}pack.mcmeta`
}
if (gen.id === 'sounds') {
return `${UNSAVED_URI}assets/minecraft/sounds.json`
}
const pack = gen.tags?.includes('assets') ? 'assets' : 'data'
return `${UNSAVED_URI}${pack}/draft/${genPath(gen, this.version)}/draft${gen.ext ?? '.json'}`
}
@@ -377,7 +380,7 @@ const initialize: core.ProjectInitializer = async (ctx) => {
const uri: string = new core.Uri('downloads/misode-mcdoc.tar.gz', cacheRoot).toString()
const buffer = await compressBall([['builtin.mcdoc', builtinMcdoc]])
await core.fileUtil.writeFile(externals, uri, buffer)
return { uri }
return { type: 'tarball-file', uri }
})
meta.registerUriBinder(je.binder.uriBinder)
@@ -420,20 +423,12 @@ const initialize: core.ProjectInitializer = async (ctx) => {
// Duplicate these from spyglass for now, until they are exported separately
function registerAttributes(meta: core.MetaRegistry, release: ReleaseVersion, versions: VersionMeta[]) {
mcdoc.runtime.registerAttribute(meta, 'since', mcdoc.runtime.attribute.validator.string, {
filterElement: (config, ctx) => {
if (!config.startsWith('1.')) {
ctx.logger.warn(`Invalid mcdoc attribute for "since": ${config}`)
return true
}
filterElement: (config, _) => {
return ReleaseVersion.cmp(release, config as ReleaseVersion) >= 0
},
})
mcdoc.runtime.registerAttribute(meta, 'until', mcdoc.runtime.attribute.validator.string, {
filterElement: (config, ctx) => {
if (!config.startsWith('1.')) {
ctx.logger.warn(`Invalid mcdoc attribute for "until": ${config}`)
return true
}
filterElement: (config, _) => {
return ReleaseVersion.cmp(release, config as ReleaseVersion) < 0
},
})
@@ -442,14 +437,10 @@ function registerAttributes(meta: core.MetaRegistry, release: ReleaseVersion, ve
'deprecated',
mcdoc.runtime.attribute.validator.optional(mcdoc.runtime.attribute.validator.string),
{
mapField: (config, field, ctx) => {
mapField: (config, field, _) => {
if (config === undefined) {
return { ...field, deprecated: true }
}
if (!config.startsWith('1.')) {
ctx.logger.warn(`Invalid mcdoc attribute for "deprecated": ${config}`)
return field
}
if (ReleaseVersion.cmp(release, config as ReleaseVersion) >= 0) {
return { ...field, deprecated: true }
}
+2 -2
View File
@@ -1,9 +1,9 @@
import config from '../Config.js'
export const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19', '1.19.3', '1.19.4', '1.20', '1.20.2', '1.20.3', '1.20.5', '1.21', '1.21.2', '1.21.4', '1.21.5', '1.21.6'] as const
export const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19', '1.19.3', '1.19.4', '1.20', '1.20.2', '1.20.3', '1.20.5', '1.21', '1.21.2', '1.21.4', '1.21.5', '1.21.6', '1.21.9', '1.21.11', '26.1', '26.2'] as const
export type VersionId = typeof VersionIds[number]
export const DEFAULT_VERSION: VersionId = '1.21.5'
export const DEFAULT_VERSION: VersionId = '26.1'
export function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {
const version = config.versions.findIndex(v => v.id === versionId)
-1
View File
@@ -1,4 +1,3 @@
export * from './Article.js'
export * from './DataFetcher.js'
export * from './Sharing.js'
export * from './Source.js'
+312 -44
View File
@@ -5,6 +5,11 @@
"name": "العربية",
"mc": "ar_sa"
},
{
"code": "cz",
"name": "Čeština",
"mc": "cs_cz"
},
{
"code": "de",
"name": "Deutsch",
@@ -186,9 +191,37 @@
},
{
"id": "1.21.6",
"ref": "1.21.8",
"name": "1.21.6 — 1.21.8",
"pack_format": 81,
"show": true
},
{
"id": "1.21.9",
"ref": "1.21.10",
"name": "1.21.9 — 1.21.10",
"pack_format": 88,
"show": true
},
{
"id": "1.21.11",
"ref": "1.21.11",
"name": "1.21.11",
"pack_format": 94,
"show": true
},
{
"id": "26.1",
"ref": "26.1.1",
"name": "26.1",
"pack_format": 101,
"show": true
},
{
"id": "26.2",
"dynamic": true,
"name": "1.21.6",
"pack_format": 77,
"name": "26.2",
"pack_format": 102,
"show": true
}
],
@@ -212,12 +245,12 @@
{
"id": "advancement",
"url": "advancement",
"wiki": "https://minecraft.wiki/w/Custom_advancement"
"wiki": "https://minecraft.wiki/w/Advancement_definition"
},
{
"id": "recipe",
"url": "recipe",
"wiki": "https://minecraft.wiki/w/Recipe#JSON_format"
"wiki": "https://minecraft.wiki/w/Recipe_(Java_Edition)#JSON_format"
},
{
"id": "chat_type",
@@ -244,12 +277,14 @@
{
"id": "banner_pattern",
"url": "banner-pattern",
"minVersion": "1.20.5"
"minVersion": "1.20.5",
"wiki": "https://minecraft.wiki/w/Banner_pattern_definition"
},
{
"id": "wolf_variant",
"url": "wolf-variant",
"minVersion": "1.20.5"
"minVersion": "1.20.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Wolf"
},
{
"id": "wolf_sound_variant",
@@ -260,7 +295,7 @@
"id": "enchantment",
"url": "enchantment",
"minVersion": "1.21",
"wiki": "https://minecraft.wiki/w/Custom_enchantment"
"wiki": "https://minecraft.wiki/w/Enchantment_definition"
},
{
"id": "enchantment_provider",
@@ -272,7 +307,7 @@
"id": "painting_variant",
"url": "painting-variant",
"minVersion": "1.21",
"wiki": "https://minecraft.wiki/w/Painting_variant"
"wiki": "https://minecraft.wiki/w/Painting_variant_definition"
},
{
"id": "jukebox_song",
@@ -283,32 +318,44 @@
{
"id": "instrument",
"url": "instrument",
"minVersion": "1.21.2"
"minVersion": "1.21.2",
"wiki": "https://minecraft.wiki/w/Instrument_definition"
},
{
"id": "trial_spawner",
"url": "trial-spawner",
"minVersion": "1.21.2"
"minVersion": "1.21.2",
"wiki": "https://minecraft.wiki/w/Trial_spawner_configuration"
},
{
"id": "pig_variant",
"url": "pig-variant",
"minVersion": "1.21.5"
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Pig"
},
{
"id": "cat_variant",
"url": "cat-variant",
"minVersion": "1.21.5"
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Cat"
},
{
"id": "frog_variant",
"url": "frog-variant",
"minVersion": "1.21.5"
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Frog"
},
{
"id": "chicken_variant",
"url": "chicken-variant",
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Chicken"
},
{
"id": "cow_variant",
"url": "cow-variant",
"minVersion": "1.21.5"
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Mob_variant_definitions#Cow"
},
{
"id": "dialog",
@@ -328,23 +375,46 @@
"minVersion": "1.21.5",
"wiki": "https://minecraft.wiki/w/Test_environment_definition"
},
{
"id": "timeline",
"url": "timeline",
"minVersion": "1.21.11",
"wiki": "https://minecraft.wiki/w/Timeline"
},
{
"id": "zombie_nautilus_variant",
"url": "zombie-nautilus-variant",
"minVersion": "1.21.11"
},
{
"id": "villager_trade",
"url": "villager-trade",
"minVersion": "26.1",
"wiki": "https://minecraft.wiki/w/Villager_trade_definition"
},
{
"id": "trade_set",
"url": "trade-set",
"minVersion": "26.1",
"wiki": "https://minecraft.wiki/w/Trade_set"
},
{
"id": "text_component",
"url": "text-component",
"noPath": true,
"wiki": "https://minecraft.wiki/w/Raw_JSON_text_format#Java_Edition"
"wiki": "https://minecraft.wiki/w/Text_component_format#Java_Edition"
},
{
"id": "pack_mcmeta",
"url": "pack-mcmeta",
"wiki": "https://minecraft.wiki/w/Data_pack#pack.mcmeta"
"wiki": "https://minecraft.wiki/w/pack.mcmeta"
},
{
"id": "dimension",
"url": "dimension",
"tags": ["worldgen"],
"minVersion": "1.16",
"wiki": "https://minecraft.wiki/w/Custom_dimension"
"wiki": "https://minecraft.wiki/w/Dimension_definition"
},
{
"id": "dimension_type",
@@ -358,14 +428,14 @@
"url": "worldgen/biome",
"tags": ["worldgen"],
"minVersion": "1.16",
"wiki": "https://minecraft.wiki/w/Custom_biome"
"wiki": "https://minecraft.wiki/w/Biome_definition"
},
{
"id": "worldgen/configured_carver",
"url": "worldgen/carver",
"tags": ["worldgen"],
"minVersion": "1.16",
"wiki": "https://minecraft.wiki/w/Custom_carver"
"wiki": "https://minecraft.wiki/w/Carver_definition"
},
{
"id": "worldgen/configured_feature",
@@ -400,7 +470,7 @@
"url": "worldgen/noise-settings",
"tags": ["worldgen"],
"minVersion": "1.16",
"wiki": "https://minecraft.wiki/w/Custom_noise_settings"
"wiki": "https://minecraft.wiki/w/Noise_settings"
},
{
"id": "worldgen/configured_structure_feature",
@@ -414,7 +484,7 @@
"url": "worldgen/structure",
"tags": ["worldgen"],
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Custom_structure"
"wiki": "https://minecraft.wiki/w/Structure_definition"
},
{
"id": "worldgen/structure_set",
@@ -450,14 +520,14 @@
"url": "worldgen/world-preset",
"tags": ["worldgen"],
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Custom_world_preset"
"wiki": "https://minecraft.wiki/w/World_preset_definition"
},
{
"id": "worldgen/flat_level_generator_preset",
"url": "worldgen/flat-world-preset",
"tags": ["worldgen"],
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Custom_world_preset#Superflat_Level_Generation_Preset"
"wiki": "https://minecraft.wiki/w/World_preset_definition#Superflat_Level_Generation_Preset"
},
{
"id": "world",
@@ -473,21 +543,21 @@
"url": "tags/block",
"tags": ["tags"],
"path": "tags/block",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/entity_type",
"url": "tags/entity-type",
"tags": ["tags"],
"path": "tags/entity_type",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/fluid",
"url": "tags/fluid",
"tags": ["tags"],
"path": "tags/fluid",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/game_event",
@@ -495,14 +565,14 @@
"tags": ["tags"],
"path": "tags/game_event",
"minVersion": "1.17",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/item",
"url": "tags/item",
"tags": ["tags"],
"path": "tags/item",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/damage_type",
@@ -510,7 +580,7 @@
"tags": ["tags"],
"path": "tags/damage_type",
"minVersion": "1.19.4",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/dialog",
@@ -518,7 +588,7 @@
"tags": ["tags"],
"path": "tags/dialog",
"minVersion": "1.21.6",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/worldgen/biome",
@@ -526,7 +596,7 @@
"tags": ["tags", "worldgen"],
"path": "tags/worldgen/biome",
"minVersion": "1.18.2",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/worldgen/structure",
@@ -534,7 +604,7 @@
"tags": ["tags", "worldgen"],
"path": "tags/worldgen/structure",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/worldgen/structure_set",
@@ -542,7 +612,7 @@
"tags": ["tags", "worldgen"],
"path": "tags/worldgen/structure_set",
"minVersion": "1.18.2",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/worldgen/flat_level_generator_preset",
@@ -550,7 +620,7 @@
"tags": ["tags", "worldgen"],
"path": "tags/worldgen/flat_level_generator_preset",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/worldgen/world_preset",
@@ -558,7 +628,7 @@
"tags": ["tags", "worldgen"],
"path": "tags/worldgen/world_preset",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/banner_pattern",
@@ -566,7 +636,7 @@
"tags": ["tags"],
"path": "tags/banner_pattern",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/cat_variant",
@@ -574,7 +644,7 @@
"tags": ["tags"],
"path": "tags/cat_variant",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/enchantment",
@@ -582,7 +652,7 @@
"tags": ["tags"],
"path": "tags/enchantment",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/instrument",
@@ -590,7 +660,7 @@
"tags": ["tags"],
"path": "tags/instrument",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/painting_variant",
@@ -598,7 +668,7 @@
"tags": ["tags"],
"path": "tags/painting_variant",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/point_of_interest_type",
@@ -606,7 +676,39 @@
"tags": ["tags"],
"path": "tags/point_of_interest_type",
"minVersion": "1.19",
"wiki": "https://minecraft.wiki/w/Tag#Java_Edition"
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/timeline",
"url": "tags/timeline",
"tags": ["tags"],
"path": "tags/timeline",
"minVersion": "1.21.11",
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/zombie_nautilus_variant",
"url": "tags/zombie-nautilus-variant",
"tags": ["tags"],
"path": "tags/zombie_nautilus_variant",
"minVersion": "1.21.11",
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/villager_trade",
"url": "tags/villager-trade",
"tags": ["tags"],
"path": "tags/villager_trade",
"minVersion": "26.1",
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "tag/trade_set",
"url": "tags/trade-set",
"tags": ["tags"],
"path": "tags/trade_set",
"minVersion": "26.1",
"wiki": "https://minecraft.wiki/w/Tag_(Java_Edition)"
},
{
"id": "block_definition",
@@ -645,7 +747,7 @@
"path": "equipment",
"tags": ["assets"],
"minVersion": "1.21.4",
"wiki": "https://minecraft.wiki/w/Model#Equipment_models"
"wiki": "https://minecraft.wiki/w/Equipment"
},
{
"id": "lang",
@@ -660,7 +762,7 @@
"path": "font",
"tags": ["assets"],
"minVersion": "1.16",
"wiki": "https://minecraft.wiki/w/Resource_pack#Fonts"
"wiki": "https://minecraft.wiki/w/Font#Providers"
},
{
"id": "atlas",
@@ -668,7 +770,7 @@
"path": "atlases",
"tags": ["assets"],
"minVersion": "1.19.3",
"wiki": "https://minecraft.wiki/w/Resource_pack#Atlases"
"wiki": "https://minecraft.wiki/w/Atlas"
},
{
"id": "post_effect",
@@ -678,6 +780,22 @@
"minVersion": "1.21.2",
"wiki": "https://minecraft.wiki/w/Shader#Post-processing_effects"
},
{
"id": "sounds",
"url": "assets/sounds",
"tags": ["assets"],
"wiki": "https://minecraft.wiki/w/Sounds.json"
},
{
"id": "ad_astra:planets",
"url": "ad-astra/planets",
"path": "planets",
"tags": ["partners"],
"dependency": "ad_astra",
"minVersion": "1.20",
"maxVersion": "1.20.3",
"wiki": "https://ad-astra.terrarium.wiki/datapack.html"
},
{
"id": "fabric:fabric_mod_json",
"url": "fabric/fabric-mod-json",
@@ -686,6 +804,14 @@
"dependency": "fabric",
"wiki": "https://wiki.fabricmc.net/documentation:fabric_mod_json"
},
{
"id": "fabric:dependency_overrides",
"url": "fabric/dependency-overrides",
"noPath": true,
"tags": ["partners"],
"dependency": "fabric",
"wiki": "https://wiki.fabricmc.net/tutorial:dependency_overrides"
},
{
"id": "immersive_weathering:block_growth",
"url": "immersive-weathering/block-growth",
@@ -703,6 +829,15 @@
"minVersion": "1.20.2",
"wiki": "https://docs.neoforged.net/docs/worldgen/biomemodifier"
},
{
"id": "neoforge:data_map_acceptable_villager_distances",
"url": "neoforge/data-map-acceptable-villager-distances",
"path": "neoforge/data_map_acceptable_villager_distances",
"tags": ["partners"],
"dependency": "neoforge",
"minVersion": "1.21.7",
"wiki": "https://docs.neoforged.net/docs/resources/server/datamaps/builtin/#neoforgeacceptable_villager_distances"
},
{
"id": "neoforge:data_map_compostables",
"url": "neoforge/data-map-compostables",
@@ -757,6 +892,15 @@
"minVersion": "1.20.4",
"wiki": "https://docs.neoforged.net/docs/resources/server/datamaps/builtin#neoforgeraid_hero_gifts"
},
{
"id": "neoforge:data_map_strippables",
"url": "neoforge/data-map-strippables",
"path": "neoforge/data_map_strippables",
"tags": ["partners"],
"dependency": "neoforge",
"minVersion": "1.21.8",
"wiki": "https://docs.neoforged.net/docs/resources/server/datamaps/builtin#neoforgestrippables"
},
{
"id": "neoforge:data_map_vibration_frequencies",
"url": "neoforge/data-map-vibration-frequencies",
@@ -766,6 +910,15 @@
"minVersion": "1.20.4",
"wiki": "https://docs.neoforged.net/docs/resources/server/datamaps/builtin#neoforgevibration_frequencies"
},
{
"id": "neoforge:data_map_villager_types",
"url": "neoforge/data-map-villager-types",
"path": "neoforge/data_map_villager_types",
"tags": ["partners"],
"dependency": "neoforge",
"minVersion": "1.21.4",
"wiki": "https://docs.neoforged.net/docs/resources/server/datamaps/builtin#neoforgevillager_types"
},
{
"id": "neoforge:data_map_waxables",
"url": "neoforge/data-map-waxables",
@@ -809,6 +962,13 @@
"tags": ["partners"],
"dependency": "create"
},
{
"id": "loot-table-modifier:loot_modifier",
"url": "loot-table-modifier/loot_modifier",
"path": "loot-table-modifier/loot_modifier",
"tags": ["partners"],
"dependency": "loot-table-modifier"
},
{
"id": "thermoo:environment_provider",
"url": "thermoo/environment_provider",
@@ -844,6 +1004,114 @@
"dependency": "thermoo",
"wiki": "https://thermoo.thedeathlycow.com/datapacks/loot_condition/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:raid_ally_set",
"url": "pixelmon/raid/ally",
"path": "pixelmon/raid/ally",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:raid_spawn_set",
"url": "pixelmon/raid/spawn",
"path": "pixelmon/raid/spawn",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:growth",
"url": "pixelmon/growth",
"path": "pixelmon/growth",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:type",
"url": "pixelmon/battle/type",
"path": "pixelmon/battle/type",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:spawn_replacement",
"url": "pixelmon/spawn_replacement",
"path": "pixelmon/spawn_replacement",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:interaction_event",
"url": "pixelmon/interaction_event",
"path": "pixelmon/interaction_event",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:research",
"url": "pixelmon/research/research",
"path": "pixelmon/research/research",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:research_trigger",
"url": "pixelmon/research/trigger",
"path": "pixelmon/research/trigger",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:npc_preset",
"url": "pixelmon/npc/preset",
"path": "pixelmon/npc/preset",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:pokedex_trigger",
"url": "pixelmon/pokemon/pokedex/trigger",
"path": "pixelmon/pokemon/pokedex/trigger",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:pokedex_region",
"url": "pixelmon/pokemon/pokedex/region",
"path": "pixelmon/pokemon/pokedex/region",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
},
{
"id": "pixelmon:pokedex",
"url": "pixelmon/pokemon/pokedex/pokedex",
"path": "pixelmon/pokemon/pokedex/pokedex",
"tags": ["partners"],
"dependency": "pixelmon",
"wiki": "https://pixelmonmod.com/wiki/",
"minVersion": "1.21.1"
}
],
"legacyGuides": [
+363
View File
@@ -0,0 +1,363 @@
{
"2d": "2D",
"3d": "3D",
"add": "Přidat",
"add_bottom": "Přidat na konec",
"add_key": "Přidat klíč",
"add_top": "Přidat na začátek",
"any_version": "Libovolná",
"assets": "Soubory",
"back": "Zpět",
"change.obsolete": "Tato změna byla nahrazena novější změnou v tomto cyklu vydání",
"changelog": "Technický seznam změn",
"changelog.edit_on_github": "Upravit technické změny na GitHubu",
"changelog.no_results": "Žádné zaznamenané změny",
"changelog.search": "Hledat změny",
"changelog.show_more": "Zobrazit dalších %0% změn",
"choose_file": "Vybrat soubor",
"choose_zip_file": "Vybrat ZIP soubor",
"collapse": "Sbalit",
"collapse_all": "Podržte %0% pro sbalení všeho",
"configure_layers": "Nastavit vrstvy",
"contributor.code": "Přispěvatel kódu",
"contributor.infrastructure": "Infrastruktura",
"contributor.report": "Nahlašovatel chyb",
"contributor.support": "Podporovatel",
"contributor.translation": "Překladatel",
"convert.format.give-command": "/give",
"convert.format.loot-table": "Tabulka kořisti",
"convert.format.item-modifier": "Modifikátor předmětu",
"convert.format.recipe-output": "Výstup receptu",
"convert.select": "-- vybrat --",
"convert.swap": "Prohodit",
"copied": "Zkopírováno!",
"copy": "Kopírovat",
"copy_context": "Kopírovat kontext",
"copy_share": "Kopírovat odkaz ke sdílení",
"customized.basic": "Základní",
"customized.biomes": "Biomy",
"customized.error_min_version": "Přizpůsobené světy nejsou dostupné ve verzích starších než %0%",
"customized.ores": "Rudy",
"customized.structures": "Struktury",
"cutoff": "Oříznutí",
"developed_by": "Vyvinuli:",
"disabled": "Vypnuto",
"donate": "Přispět",
"download": "Stáhnout",
"duplicate": "Duplikovat",
"enabled": "Zapnuto",
"entries_hidden": "%0% záznamů skryto",
"entries_hidden.all": "Zobrazit vše",
"entries_hidden.more": "Zobrazit dalších %0%",
"expand": "Rozbalit",
"expand_all": "Podržte %0% pro rozbalení všeho",
"feature.decorated.decorators": "Dekorátory",
"feature.decorated.decorators.entry": "Dekorátor",
"fields": "Pole",
"follow_reference": "Následovat referenci",
"format.json": "JSON",
"format.snbt": "SNBT",
"format.yaml": "YAML",
"generate_new_color": "Vygenerovat novou barvu",
"generate_new_seed": "Vygenerovat novou počáteční hodnotu",
"generate_new_uuid": "Vygenerovat nové UUID",
"generator.advancement": "Postup",
"generator.atlas": "Atlas",
"generator.banner_pattern": "Vzor vlajky",
"generator.block_definition": "Stav bloku",
"generator.browse_available": "Procházet dostupné generátory pro %0%",
"generator.cat_variant": "Varianta kočky",
"generator.chat_type": "Typ chatu",
"generator.cow_variant": "Varianta krávy",
"generator.create:recipes": "Recepty Create",
"generator.damage_type": "Typ poškození",
"generator.dialog": "Dialog",
"generator.dimension": "Dimenze",
"generator.dimension_type": "Typ dimenze",
"generator.enchantment": "Očarování",
"generator.enchantment_provider": "Poskytovatel očarování",
"generator.equipment": "Vybavení",
"generator.error_max_version": "Tento generátor není dostupný ve verzích novějších než %0%",
"generator.error_min_version": "Minimální verze pro tento generátor je %0%",
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.font": "Písmo",
"generator.frog_variant": "Varianta žáby",
"generator.immersive_weathering:block_growth": "Růst bloku",
"generator.instrument": "Nástroj",
"generator.item_definition": "Předmět",
"generator.item_modifier": "Modifikátor předmětu",
"generator.jukebox_song": "Píseň pro jukebox",
"generator.lang": "Jazyk",
"generator.loot_table": "Tabulka kořisti",
"generator.model": "Model",
"generator.texture_meta": "Metadata textury",
"generator.neoforge:biome_modifier": "Modifikátor biomu",
"generator.neoforge:data_map_compostables": "Datová mapa kompostovatelných",
"generator.neoforge:data_map_furnace_fuels": "Datová mapa paliv pro pec",
"generator.neoforge:data_map_monster_room_mobs": "Datová mapa mobů v místnosti s monstry",
"generator.neoforge:data_map_oxidizables": "Datová mapa oxidovatelných",
"generator.neoforge:data_map_parrot_imitations": "Datová mapa imitací papoušků",
"generator.neoforge:data_map_raid_hero_gifts": "Datová mapa darů pro hrdiny z nájezdu",
"generator.neoforge:data_map_vibration_frequencies": "Datová mapa frekvencí vibrací",
"generator.neoforge:data_map_waxables": "Datová mapa voskovatelných",
"generator.neoforge:structure_modifier": "Modifikátor struktur",
"generator.not_found": "Nelze najít generátor \"%0%\"",
"generator.ohthetreesyoullgrow:configured_feature": "Funkce OTTYG",
"generator.sky_aesthetics:sky": "Vlastní obloha",
"generator.pack_mcmeta": "pack.mcmeta",
"generator.painting_variant": "Varianta obrazu",
"generator.pig_variant": "Varianta prasete",
"generator.post_effect": "Postefekt",
"generator.predicate": "Predikát",
"generator.recipe": "Recept",
"generator.switch_version": "Přepnout na %0%",
"generator.tag/banner_pattern": "Značka vzoru vlajky",
"generator.tag/block": "Značka bloku",
"generator.tag/cat_variant": "Značka varianty kočky",
"generator.tag/damage_type": "Značka typu poškození",
"generator.tag/dialog": "Značka dialogu",
"generator.tag/enchantment": "Značka očarování",
"generator.tag/entity_type": "Značka typu entity",
"generator.tag/fluid": "Značka kapaliny",
"generator.tag/game_event": "Značka herní události",
"generator.tag/instrument": "Značka nástroje",
"generator.tag/item": "Značka předmětu",
"generator.tag/painting_variant": "Značka varianty obrazu",
"generator.tag/point_of_interest_type": "Značka typu bodu zájmu",
"generator.tag/worldgen/biome": "Značka biomu",
"generator.tag/worldgen/flat_level_generator_preset": "Značka přednastavení plochého světa",
"generator.tag/worldgen/structure": "Značka struktury",
"generator.tag/worldgen/structure_set": "Značka sady struktur",
"generator.tag/worldgen/world_preset": "Značka přednastavení světa",
"generator.test_instance": "Testovací instance",
"generator.test_environment": "Testovací prostředí",
"generator.text_component": "Textová komponenta",
"generator.thermoo:environment_provider": "Poskytovatel prostředí",
"generator.thermoo:environment": "Prostředí",
"generator.thermoo:temperature_effect": "Teplotní efekt",
"generator.thermoo:predicate": "Podmínky Thermoo",
"generator.trial_spawner": "Zkušební spawner",
"generator.trim_material": "Materiál vzoru zbroje",
"generator.trim_pattern": "Vzor zbroje",
"generator.wolf_variant": "Varianta vlka",
"generator.wolf_sound_variant": "Zvuková varianta vlka",
"generator.world": "Nastavení světa",
"generator.worldgen/biome": "Biom",
"generator.worldgen/configured_carver": "Nakonfigurovaný vyřezávač",
"generator.worldgen/configured_feature": "Nakonfigurovaný prvek",
"generator.worldgen/configured_structure_feature": "Strukturní prvek",
"generator.worldgen/configured_surface_builder": "Tvořič povrchu",
"generator.worldgen/density_function": "Funkce hustoty",
"generator.worldgen/flat_level_generator_preset": "Přednastavení plochého světa",
"generator.worldgen/noise": "Šum",
"generator.worldgen/noise_settings": "Nastavení šumu",
"generator.worldgen/placed_feature": "Umístěný prvek",
"generator.worldgen/processor_list": "Seznam procesorů",
"generator.worldgen/structure": "Struktura",
"generator.worldgen/structure_set": "Sada struktur",
"generator.worldgen/template_pool": "Zásobník šablon",
"generator.worldgen/world_preset": "Přednastavení světa",
"generators.all": "Všechny generátory",
"generators.no_results": "Pro tento dotaz nejsou žádné generátory",
"generators.partners": "Modované generátory",
"generators.popular": "Populární generátory",
"generators.recent": "Nedávno použité generátory",
"generators.search": "Hledat generátory",
"github": "GitHub",
"guides": "Návody",
"hide_output": "Skrýt výstup",
"hide_preview": "Skrýt náhled",
"hide_project": "Skrýt projekt",
"highlighting": "Zvýrazňování",
"home": "Domů",
"import": "Importovat",
"indentation.2_spaces": "2 mezery",
"indentation.4_spaces": "4 mezery",
"indentation.minified": "Minimalizované",
"indentation.tabs": "Tabulátory",
"inline": "Řádkově",
"language": "Jazyk",
"layer": "Vrstva",
"layer.biomes": "Biomy",
"layer.continents": "Kontinentálnost",
"layer.depth": "Hloubka",
"layer.erosion": "Eroze",
"layer.ridges": "Podivnost",
"layer.temperature": "Teplota",
"layer.vegetation": "Vlhkost",
"learn_on_the_wiki": "Zjistit více na wiki",
"loading": "Načítání...",
"missing_key": "Chybí požadovaný klíč %0%",
"mode.3d": "3D",
"mode.side": "Z boku",
"mode.top": "Shora",
"more": "Více",
"move_down": "Posunout dolů",
"move_up": "Posunout nahoru",
"no_file_chosen": "Není vybrán žádný soubor",
"normalize": "Normalizovat",
"not_found.description": "Stránka, kterou hledáte, neexistuje.",
"output_settings": "Nastavení výstupu",
"partner.create": "Create",
"partner.fabric": "Fabric",
"partner.immersive_weathering": "Immersive Weathering",
"partner.lithostitched": "Lithostitched",
"partner.neoforge": "NeoForge",
"partner.obsidian": "Obsidian",
"partner.ohthetreesyoullgrow": "Oh The Trees You'll Grow",
"partner.sky_aesthetics": "Sky Aesthetics",
"partner.thermoo": "Thermoo",
"presets": "Přednastavení",
"presets.no_results": "Žádná přednastavení",
"presets.no_results_for_query": "Žádná přednastavení pro tento dotaz",
"preview": "Vizualizace",
"preview.auto_scroll": "Automatické posouvání",
"preview.biome": "Biom",
"preview.daytime": "Denní doba",
"preview.depth": "Hloubka",
"preview.factor": "Faktor",
"preview.final_density": "Zobrazit konečnou hustotu",
"preview.height": "Výška",
"preview.luck": "Štěstí",
"preview.min_y": "Min Y",
"preview.offset": "Posun",
"preview.peaks": "Vrcholky",
"preview.scale": "Měřítko",
"preview.weather": "Počasí",
"preview.weather.clear": "Jasno",
"preview.weather.rain": "Déšť",
"preview.weather.thunder": "Bouřka",
"preview.width": "Šířka",
"project.cancel": "Zrušit",
"project.create": "Vytvořit nový projekt",
"project.delete": "Smazat projekt",
"project.delete_confirm.1": "Chystáte se smazat %0%",
"project.delete_confirm.2": "Tuto akci nelze vrátit zpět!",
"project.delete_file": "Smazat soubor",
"project.download": "Stáhnout datový balíček",
"project.go_to": "Přejít na projekt",
"project.name": "Název projektu",
"project.name.already_exists": "Projekt s tímto názvem již existuje",
"project.namespace": "Výchozí jmenný prostor",
"project.namespace.invalid": "Neplatný jmenný prostor",
"project.new": "Nový projekt",
"project.new_file": "Nový prázdný soubor",
"project.no_files": "Žádné soubory",
"project.rename": "Přejmenovat",
"project.rename_file": "Přejmenovat soubor",
"project.save": "Uložit jako",
"project.save_current_file": "Uložit soubor do projektu",
"project.search": "Hledat v projektu",
"project.search_drafts": "Hledat v konceptech",
"project.show_file_paths": "Zobrazit cesty k souborům",
"project.show_resources": "Zobrazit zdroje",
"project.unsaved_file": "Neuložený soubor",
"redo": "Znovu",
"remove": "Smazat",
"reset": "Resetovat",
"reset_default": "Obnovit výchozí",
"resource_location": "Umístění zdroje",
"restore_backup": "Obnovit poslední zálohu",
"root": "Kořen",
"search": "Hledat",
"settings": "Nastavení",
"settings.fields.description": "Přizpůsobit pokročilá nastavení polí",
"settings.fields.name": "Název",
"settings.fields.path": "Kontext",
"share": "Sdílet",
"share.loading": "Získávání odkazu ke sdílení...",
"show_output": "Zobrazit výstup",
"show_preview": "Zobrazit náhled",
"show_project": "Zobrazit projekt",
"sort_alphabetically": "Seřadit abecedně",
"sounds.add_sound": "Přidat zvuk",
"sounds.copy_command": "Kopírovat příkaz",
"sounds.delay": "Zpoždění",
"sounds.download_function": "Stáhnout Mcfunction",
"sounds.loading_sound": "Načítání zvuku",
"sounds.pitch": "Výška tónu",
"sounds.play": "Přehrát",
"sounds.play_all": "Přehrát vše",
"sounds.play_sound": "Přehrát zvuk",
"sounds.remove_sound": "Odebrat zvuk",
"sounds.search": "Hledat zvuky",
"sounds.unknown_sound": "Neznámý zvuk",
"sounds.volume": "Hlasitost",
"source_code_on": "Zdrojový kód na",
"source_placeholder": "Vložte sem neupravený obsah %0%",
"switch_generator": "Přepnout generátor",
"switch_project": "Přepnout projekt",
"switch_version": "Přepnout verzi",
"tags": "Značky",
"terrain_settings": "Nastavení terénu",
"theme": "Motiv",
"theme.dark": "Tmavý",
"theme.light": "Světlý",
"theme.system": "Systém",
"title.changelog": "Technický seznam změn",
"title.convert": "Převodník",
"title.convert.formats": "Převodník z %0% na %1%",
"title.customized": "Přizpůsobené světy",
"title.generator": "Generátor %0%",
"title.generator_category": "Generátory %0%",
"title.generators": "Generátory datových balíčků",
"title.guides": "Návody pro datové balíčky",
"title.home": "Generátory datových balíčků",
"title.new_project": "Vytvořit nový projekt",
"title.partners": "Modované generátory",
"title.project": "Projekt %0%",
"title.sounds": "Průzkumník zvuků",
"title.transformation": "Vizualizace transformací",
"title.versions": "Průzkumník verzí",
"title.whats_new": "Co je nového?",
"title.worldgen": "Generátory Worldgen",
"tools": "Nástroje",
"transformation.copy_composed": "Kopírovat formát matice",
"transformation.copy_decomposed": "Kopírovat rozložený formát",
"transformation.left_rotation": "Rotace doleva",
"transformation.matrix": "Matice",
"transformation.right_rotation": "Rotace doprava",
"transformation.rotation_mode": "Formát: %0%",
"transformation.rotation_mode.axis_angle": "Osa-úhel",
"transformation.rotation_mode.quaternion": "Kvaternion",
"transformation.scale": "Měřítko",
"transformation.translation": "Posunutí",
"undo": "Zpět",
"unset": "-- nenastaveno --",
"version_diff.word_wrap": "Zalamování slov",
"versions.all": "Všechny verze",
"versions.article": "Článek",
"versions.changelog": "Technické změny",
"versions.data_pack_format": "Formát datového balíčku",
"versions.data_version": "Verze dat",
"versions.diff": "Rozdíl v mcmeta",
"versions.fixes": "Opravené chyby",
"versions.fixes.no_results": "Žádné opravy",
"versions.latest_release": "Nejnovější verze",
"versions.latest_snapshot": "Nejnovější snapshot",
"versions.minecraft_versions": "Verze Minecraftu",
"versions.next": "Další",
"versions.no_results": "Žádné výsledky",
"versions.pack_format": "Formát balíčku",
"versions.previous": "Předchozí",
"versions.protocol_version": "Verze protokolu",
"versions.release_target": "Cíl vydání",
"versions.released": "Vydáno",
"versions.resource_pack_format": "Formát zdrojového balíčku",
"versions.search": "Hledat verze",
"versions.wiki": "Wiki",
"weight": "Hmotnost",
"whats_new": "Co je nového?",
"whats_new.description": "Zůstaňte v obraze o nejnovějším vývoji na misode.github.io. Níže zjistíte, jaké funkce byly nedávno přidány.",
"whats_new.new": "NOVÉ",
"wiki": "Wiki",
"worldgen": "Worldgen",
"y": "Y",
"z": "Z",
"zoom_in": "Přiblížit",
"zoom_in_limit": "Nelze přiblížit více\n1 pixel = 4 bloky",
"zoom_out": "Oddálit",
"generator.ad_astra:planets": "Planeta Ad Astra",
"generator.chicken_variant": "Varianta slepic",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json"
}
+46 -5
View File
@@ -1,7 +1,7 @@
{
"add": "Hinzufügen",
"add_bottom": "Zu Ende hinzufügen",
"add_top": "Zu Anfang hinzufügen",
"add_top": "Zum Anfang hinzufügen",
"collapse": "Minimieren",
"collapse_all": "Halte %0% um alles zu minimieren",
"copied": "Kopiert!",
@@ -103,12 +103,12 @@
"choose_file": "Datei auswählen",
"choose_zip_file": "ZIP-Datei auswählen",
"changelog.search": "Änderungen durchsuchen",
"changelog": "Technische neuerungen",
"any_version": "Jede",
"changelog": "Technische Neuerungen",
"any_version": "Alle",
"assets": "Assets",
"back": "Zurück",
"configure_layers": "Ebenen Konfigurieren",
"copy_share": "Teilen-Link kopieren",
"copy_share": "Link kopieren/teilen",
"changelog.no_results": "Keine aufgezeichneten änderungen",
"contributor.code": "Code Mitwirkender",
"generator.error_max_version": "Dieser Generator ist nicht in Versionen über %0% verfügbar",
@@ -346,5 +346,46 @@
"versions.minecraft_versions": "Minecraft-Versionen",
"indentation.minified": "Verkleinert",
"preview.min_y": "Min Y",
"generator.neoforge:data_map_parrot_imitations": "Papageienimitationen Datenzuordnung"
"generator.neoforge:data_map_parrot_imitations": "Papageienimitationen Datenzuordnung",
"generator.chicken_variant": "Huhn Variante",
"generator.create:recipes": "Rezepte erstellen",
"generator.dialog": "Dialog",
"generator.fabric:dependency_overrides": "Schlüssel",
"generator.texture_meta": "Textur Metadaten",
"generator.tag/dialog": "Dialog-Tag",
"generator.thermoo:environment_provider": "Umwelt-Anbieter",
"generator.thermoo:environment": "Umwelt",
"generator.thermoo:temperature_effect": "Temperatur Effekt",
"generator.thermoo:predicate": "Thermoo Prädikate",
"generator.pixelmon:raid_ally_set": "Pixelmon Raid Verbündeten Set",
"generator.pixelmon:raid_spawn_set": "Pixelmon Raid Spawn Set",
"generator.pixelmon:spawn_replacement": "Pixelmon Spawn-Ersatz",
"generator.pixelmon:type": "Pixelmon Typ",
"generator.pixelmon:growth": "Pixelmon Wachstum",
"generator.pixelmon:interaction_event": "Pixelmon Interaktion Ereignis",
"generator.pixelmon:research": "Pixelmon Forschung",
"generator.pixelmon:research_trigger": "Pixelmon Forschungsauslöser",
"generator.pixelmon:npc_preset": "Pixelmon NPC-Voreinstellung",
"generator.pixelmon:pokedex": "Pokedex",
"generator.pixelmon:pokedex_trigger": "Pokedex Auslöser",
"generator.pixelmon:pokedex_region": "Region",
"partner.create": "Erstellen",
"partner.thermoo": "Thermoo",
"partner.pixelmon": "Pixelmon",
"generator.tag/timeline": "Zeitleisten Tag",
"generator.timeline": "Zeitleiste",
"generator.zombie_nautilus_variant": "Zombienautilus Variante",
"generator.tag/zombie_nautilus_variant": "Zombienautilus Variante Tag",
"generator.ad_astra:planets": "Ad Astra-Planet",
"generator.tag/trade_set": "Handelsset-Tag",
"generator.tag/villager_trade": "Handel-Tag",
"generator.trade_set": "Handelsset",
"generator.villager_trade": "Handel",
"inline": "Inline",
"partner.ad_astra": "Ad Astra",
"generator.neoforge:data_map_acceptable_villager_distances": "Datenkarte akzeptabler Dorfbewohner-Distanzen",
"generator.neoforge:data_map_villager_types": "Datenkarte von Dorfbewohner-Biom-Typen",
"generator.loot-table-modifier:loot_modifier": "Beutetabellemodifikator",
"generator.neoforge:data_map_strippables": "Entrindbare Datenzuordnung",
"partner.loot-table-modifier": "Beutetabllenmodifikator"
}
+32 -2
View File
@@ -61,6 +61,7 @@
"generate_new_color": "Generate new color",
"generate_new_seed": "Generate new seed",
"generate_new_uuid": "Generate new UUID",
"generator.ad_astra:planets": "Ad Astra Planet",
"generator.advancement": "Advancement",
"generator.atlas": "Atlas",
"generator.banner_pattern": "Banner Pattern",
@@ -68,6 +69,7 @@
"generator.browse_available": "Browse available generators for %0%",
"generator.cat_variant": "Cat Variant",
"generator.chat_type": "Chat Type",
"generator.chicken_variant": "Chicken Variant",
"generator.cow_variant": "Cow Variant",
"generator.create:recipes": "Create Recipes",
"generator.damage_type": "Damage Type",
@@ -80,6 +82,7 @@
"generator.error_max_version": "This generator is not available in versions above %0%",
"generator.error_min_version": "The minimum version for this generator is %0%",
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.font": "Font",
"generator.frog_variant": "Frog Variant",
"generator.immersive_weathering:block_growth": "Block Growth",
@@ -89,27 +92,32 @@
"generator.jukebox_song": "Jukebox Song",
"generator.lang": "Language",
"generator.loot_table": "Loot Table",
"generator.loot-table-modifier:loot_modifier": "Loot Modifier",
"generator.model": "Model",
"generator.texture_meta": "Texture Metadata",
"generator.neoforge:biome_modifier": "Biome Modifier",
"generator.neoforge:data_map_acceptable_villager_distances": "Acceptable Villager Distances Data Map",
"generator.neoforge:data_map_compostables": "Compostables Data Map",
"generator.neoforge:data_map_furnace_fuels": "Furnace Fuels Data Map",
"generator.neoforge:data_map_monster_room_mobs": "Monster Room Mobs Data Map",
"generator.neoforge:data_map_oxidizables": "Oxidizables Data Map",
"generator.neoforge:data_map_parrot_imitations": "Parrot Imitations Data Map",
"generator.neoforge:data_map_raid_hero_gifts": "Raid Hero Gifts Data Map",
"generator.neoforge:data_map_strippables": "Strippables Data Map",
"generator.neoforge:data_map_vibration_frequencies": "Vibration Frequencies Data Map",
"generator.neoforge:data_map_villager_types": "Biome Villager Types Data Map",
"generator.neoforge:data_map_waxables": "Waxables Data Map",
"generator.neoforge:structure_modifier": "Structure Modifier",
"generator.not_found": "Cannot find generator \"%0%\"",
"generator.ohthetreesyoullgrow:configured_feature": "OTTYG Feature",
"generator.sky_aesthetics:sky": "Custom Sky",
"generator.pack_mcmeta": "pack.mcmeta",
"generator.pack_mcmeta": "Pack.mcmeta",
"generator.painting_variant": "Painting Variant",
"generator.pig_variant": "Pig Variant",
"generator.post_effect": "Post Effect",
"generator.predicate": "Predicate",
"generator.recipe": "Recipe",
"generator.sounds": "Sounds.json",
"generator.switch_version": "Switch to %0%",
"generator.tag/banner_pattern": "Banner Pattern Tag",
"generator.tag/block": "Block Tag",
@@ -124,11 +132,15 @@
"generator.tag/item": "Item Tag",
"generator.tag/painting_variant": "Painting Variant Tag",
"generator.tag/point_of_interest_type": "Point of Interest Type Tag",
"generator.tag/timeline": "Timeline Tag",
"generator.tag/trade_set": "Trade Set Tag",
"generator.tag/villager_trade": "Villager Trade Tag",
"generator.tag/worldgen/biome": "Biome Tag",
"generator.tag/worldgen/flat_level_generator_preset": "Flat World Preset Tag",
"generator.tag/worldgen/structure": "Structure Tag",
"generator.tag/worldgen/structure_set": "Structure Set Tag",
"generator.tag/worldgen/world_preset": "World Preset Tag",
"generator.tag/zombie_nautilus_variant": "Zombie Nautilus Variant Tag",
"generator.test_instance": "Test Instance",
"generator.test_environment": "Test Environment",
"generator.text_component": "Text Component",
@@ -136,9 +148,24 @@
"generator.thermoo:environment": "Environment",
"generator.thermoo:temperature_effect": "Temperature Effect",
"generator.thermoo:predicate": "Thermoo Predicates",
"generator.timeline": "Timeline",
"generator.pixelmon:raid_ally_set": "Pixelmon Raid Ally Set",
"generator.pixelmon:raid_spawn_set": "Pixelmon Raid Spawn Set",
"generator.pixelmon:spawn_replacement": "Pixelmon Spawn Replacement",
"generator.pixelmon:type": "Pixelmon Type",
"generator.pixelmon:growth": "Pixelmon Growth",
"generator.pixelmon:interaction_event": "Pixelmon Interaction Event",
"generator.pixelmon:research": "Pixelmon Research",
"generator.pixelmon:research_trigger": "Pixelmon Research Trigger",
"generator.pixelmon:npc_preset": "Pixelmon NPC Preset",
"generator.pixelmon:pokedex": "Pokedex",
"generator.pixelmon:pokedex_trigger": "Pokedex Trigger",
"generator.pixelmon:pokedex_region": "Region",
"generator.trade_set": "Trade Set",
"generator.trial_spawner": "Trial Spawner",
"generator.trim_material": "Trim Material",
"generator.trim_pattern": "Trim Pattern",
"generator.villager_trade": "Villager Trade",
"generator.wolf_variant": "Wolf Variant",
"generator.wolf_sound_variant": "Wolf Sound Variant",
"generator.world": "World Settings",
@@ -157,6 +184,7 @@
"generator.worldgen/structure_set": "Structure Set",
"generator.worldgen/template_pool": "Template Pool",
"generator.worldgen/world_preset": "World Preset",
"generator.zombie_nautilus_variant": "Zombie Nautilus Variant",
"generators.all": "All generators",
"generators.no_results": "No generators for this query",
"generators.partners": "Modded Generators",
@@ -198,15 +226,18 @@
"normalize": "Normalize",
"not_found.description": "The page you were looking for does not exist.",
"output_settings": "Output settings",
"partner.ad_astra": "Ad Astra",
"partner.create": "Create",
"partner.fabric": "Fabric",
"partner.immersive_weathering": "Immersive Weathering",
"partner.lithostitched": "Lithostitched",
"partner.loot-table-modifier": "Loot Table Modifier",
"partner.neoforge": "NeoForge",
"partner.obsidian": "Obsidian",
"partner.ohthetreesyoullgrow": "Oh The Trees You'll Grow",
"partner.sky_aesthetics": "Sky Aesthetics",
"partner.thermoo": "Thermoo",
"partner.pixelmon": "Pixelmon",
"presets": "Presets",
"presets.no_results": "No presets",
"presets.no_results_for_query": "No presets for this query",
@@ -332,7 +363,6 @@
"versions.data_version": "Data version",
"versions.diff": "Mcmeta diff",
"versions.fixes": "Fixed bugs",
"versions.fixes.no_results": "No fixes",
"versions.latest_release": "Latest release",
"versions.latest_snapshot": "Latest snapshot",
"versions.minecraft_versions": "Minecraft Versions",
+7 -1
View File
@@ -235,5 +235,11 @@
"generator.frog_variant": "Variante de la Rana",
"generator.test_instance": "Instancia de prueba",
"generator.test_environment": "Entorno de prueba",
"generator.wolf_variant": "Variante del lobo"
"generator.wolf_variant": "Variante del lobo",
"generator.create:recipes": "Crear recetas",
"generator.dialog": "Diálogo",
"generator.tag/dialog": "Etiqueta de diálogo",
"generator.tag/timeline": "Etiqueta de línea de tiempo",
"generator.tag/zombie_nautilus_variant": "Etiqueta de variante de Nautilus zombi",
"generator.thermoo:environment_provider": "Proveedor de entorno"
}
+52 -6
View File
@@ -2,7 +2,7 @@
"2d": "2D",
"3d": "3D",
"add": "Ajouter",
"add_bottom": "Ajouter au bas",
"add_bottom": "Ajouter en bas",
"add_key": "Ajouter une clé",
"add_top": "Ajouter au haut",
"any_version": "Toute",
@@ -58,7 +58,7 @@
"format.snbt": "SNBT",
"format.yaml": "YAML",
"generate_new_color": "Générer une nouvelle couleur",
"generate_new_seed": "Générer une nouvelle graine",
"generate_new_seed": "Générer une nouvelle seed",
"generate_new_uuid": "Générer un nouvel UUID",
"generator.advancement": "Progrès",
"generator.atlas": "Atlas",
@@ -119,7 +119,7 @@
"generator.tag/worldgen/structure_set": "Tag d'ensemble de structures",
"generator.tag/worldgen/world_preset": "Tag de préréglage de monde",
"generator.text_component": "Composant de texte",
"generator.trial_spawner": "Générateur d'épreuve",
"generator.trial_spawner": "Spawner de chambre d'épreuve",
"generator.trim_material": "Matériau d'ornement",
"generator.trim_pattern": "Modèle d'ornement",
"generator.wolf_variant": "Variante de loup",
@@ -195,7 +195,7 @@
"preview.final_density": "Afficher la densité finale",
"preview.height": "Hauteur",
"preview.luck": "Chance",
"preview.min_y": "Y min.",
"preview.min_y": "Y min",
"preview.offset": "Décalage",
"preview.peaks": "Pics",
"preview.scale": "Échelle",
@@ -251,7 +251,7 @@
"sounds.delay": "Délai",
"sounds.download_function": "Télécharger la fonction",
"sounds.loading_sound": "Chargement du son",
"sounds.pitch": "Hauteur",
"sounds.pitch": "Inclinaison",
"sounds.play": "Écouter",
"sounds.play_all": "Écouter tous",
"sounds.play_sound": "Écouter le son",
@@ -337,5 +337,51 @@
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.sky_aesthetics:sky": "Ciel personnalisé",
"partner.fabric": "Fabric",
"generator.dialog": "Dialogue"
"generator.dialog": "Dialogue",
"generator.thermoo:environment": "Environnement",
"generator.create:recipes": "Créer des recettes",
"generator.frog_variant": "Variante de grenouille",
"generator.texture_meta": "Métadonnée de texture",
"generator.pig_variant": "Variante de cochon",
"generator.tag/dialog": "Tag de dialogue",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.chicken_variant": "Variante de poule",
"inline": "En ligne",
"generator.test_environment": "Environnement de test",
"generator.wolf_sound_variant": "Variante de son du loup",
"changelog.edit_on_github": "Modifier les changements techniques sur GitHub",
"generator.cow_variant": "Variante de vache",
"generator.cat_variant": "Variante de chat",
"generator.test_instance": "Instance de test",
"partner.create": "Create",
"partner.thermoo": "Thermoo",
"partner.pixelmon": "Pixelmon",
"presets.no_results": "Pas de préréglages",
"presets.no_results_for_query": "Pas de préréglages pour cette requête",
"generator.thermoo:temperature_effect": "Effets de température",
"generator.pixelmon:pokedex_region": "Région",
"generator.pixelmon:type": "Type de pixelmon",
"generator.pixelmon:growth": "Croissance des Pixelmons",
"generator.pixelmon:interaction_event": "Évènement d'interaction des Pixelmon",
"generator.pixelmon:research": "Recherche des Pixelmon",
"generator.pixelmon:research_trigger": "Déclencheur de recherche des Pixelmon",
"generator.pixelmon:npc_preset": "Préréglage PNJ de Pixelmon",
"generator.pixelmon:pokedex": "Pokédex",
"generator.pixelmon:pokedex_trigger": "Déclencheur de Pokédex",
"generator.thermoo:environment_provider": "Fournisseur d'environnement",
"generator.pixelmon:spawn_replacement": "Remplacement du spawn des Pixelmons",
"generator.ad_astra:planets": "Planète Ad Astra",
"generator.tag/zombie_nautilus_variant": "Tag de variante de Nautile Zombie",
"generator.zombie_nautilus_variant": "Variante de Nautile Zombie",
"partner.ad_astra": "Ad Astra",
"generator.neoforge:data_map_acceptable_villager_distances": "Carte des distances acceptables entre les villageois",
"generator.neoforge:data_map_strippables": "Carte des données des objets décapables",
"generator.neoforge:data_map_villager_types": "Carte des types de villageois à biome",
"generator.tag/timeline": "Tag de chronologie",
"generator.thermoo:predicate": "Prédicats de Thermoo",
"generator.timeline": "Chronologie",
"generator.pixelmon:raid_ally_set": "Ensemble d'alliés de Raid Pixelmon",
"generator.pixelmon:raid_spawn_set": "Ensemble de spawns de Raid Pixelmon",
"generator.loot-table-modifier:loot_modifier": "Modificateur de butin",
"partner.loot-table-modifier": "Modificateur de table de butin"
}
+38 -4
View File
@@ -74,7 +74,7 @@
"generator.text_component": "テキストコンポーネント",
"generator.trim_material": "装飾の材料 (Trim Material)",
"generator.trim_pattern": "装飾のパターン (Trim Pattern)",
"generator.world": "ワールド設定",
"generator.world": "ワールド設定 (World Settings)",
"generator.worldgen": "ワールドジェネレーター (World Generator)",
"generator.worldgen/biome": "バイオーム",
"generator.worldgen/configured_carver": "地形彫刻 (Configured Carver)",
@@ -311,7 +311,7 @@
"generator.tag/worldgen/flat_level_generator_preset": "フラットワールドプリセットタグ (#Flat World Preset)",
"generator.tag/worldgen/world_preset": "ワールドプリセットタグ (#World Preset)",
"generator.test_instance": "テストインスタンス (Test Instance)",
"generator.trial_spawner": "トライアルスポナー",
"generator.trial_spawner": "トライアルスポナー (Trial Spawner)",
"partner.create": "Create",
"title.convert": "変換",
"title.convert.formats": "0% を %1% へ変換",
@@ -326,7 +326,7 @@
"convert.select": "--選択--",
"convert.swap": "入れ替える",
"generator.banner_pattern": "旗の模様 (Banner Pattern)",
"generator.cat_variant": "の亜種 (Cat Variant)",
"generator.cat_variant": "ネコの亜種 (Cat Variant)",
"generator.cow_variant": "ウシの亜種 (Cow Variant)",
"partner.fabric": "Fabric",
"partner.neoforge": "NeoForge",
@@ -338,5 +338,39 @@
"z": "Z",
"generator.tag/instrument": "楽器タグ (#Instrument)",
"generator.tag/worldgen/structure": "構造物タグ (#Structure)",
"generator.tag/worldgen/structure_set": "構造物セット (#Structure Set)"
"generator.tag/worldgen/structure_set": "構造物セット (#Structure Set)",
"generator.chicken_variant": "ニワトリの亜種 (Chicken Variant)",
"change.obsolete": "この変更は、このリリースサイクルの後続の変更によって置き換えられました",
"generate_new_color": "新しい色を生成",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.immersive_weathering:block_growth": "ブロック成長 (Block Growth)",
"generator.loot-table-modifier:loot_modifier": "ルート修正値 (Loot Modifier)",
"generator.sky_aesthetics:sky": "カスタムスカイ",
"generator.tag/timeline": "Timeline Tag",
"generator.tag/trade_set": "Trade Set Tag",
"generator.test_environment": "テスト環境",
"generator.thermoo:environment_provider": "環境プロバイダー",
"generator.thermoo:environment": "環境",
"generator.pixelmon:pokedex_region": "リージョン (Region)",
"generator.villager_trade": "村人交易 (Villager Trade)",
"generator.wolf_sound_variant": "狼の音のバリエーション (Wolf Sound Variant)",
"generator.zombie_nautilus_variant": "ゾンビオウムガイの亜種",
"missing_key": "必要なキー (%0%) がありません",
"partner.loot-table-modifier": "Loot Table の変更",
"presets.no_results": "プリセットなし",
"presets.no_results_for_query": "このクエリにはプリセットがありません",
"root": "Root",
"generator.neoforge:structure_modifier": "構造物の修正値 (Structure Modifier)",
"partner.pixelmon": "Pixelmon",
"generator.pixelmon:raid_spawn_set": "Pixelmon 襲撃スポーンセット (Raid Spawn Set)",
"generator.pixelmon:spawn_replacement": "Pixelmon スポーン交換 (Spawn Replacement)",
"generator.pixelmon:type": "Pixelmon タイプ (Type)",
"generator.pixelmon:growth": "Pixelmon 成長 (Growth)",
"generator.pixelmon:interaction_event": "Pixelmon インタラクションイベント (Interaction Event)",
"generator.pixelmon:research": "Pixelmon 研究 (Research)",
"generator.pixelmon:research_trigger": "Pixelmon 研究トリガー (Research Trigger)",
"generator.pixelmon:npc_preset": "Pixelmon NPCプリセット (NPC Preset)",
"generator.pixelmon:pokedex": "Pokedex",
"generator.pixelmon:pokedex_trigger": "Pokedex トリガー (Trigger)",
"generator.trade_set": "取引設定 (Trade Set)"
}
+96 -17
View File
@@ -2,7 +2,7 @@
"add": "추가",
"add_bottom": "아래에 추가",
"add_top": "위에 추가",
"any_version": "아무",
"any_version": "모두",
"assets": "에셋",
"back": "뒤",
"changelog.no_results": "변경 없음",
@@ -20,16 +20,16 @@
"disabled": "비활성화됨",
"donate": "후원",
"download": "다운로드",
"duplicate": "복",
"duplicate": "복",
"enabled": "활성화됨",
"entries_hidden": "%0%개의 엔트리 숨겨짐",
"entries_hidden": "%0%개의 항목 숨겨짐",
"entries_hidden.all": "전부 보기",
"entries_hidden.more": "%0%개 더 보기",
"expand": "펼치기",
"expand_all": "%0%을 누르고 클릭해 전부 펼치기",
"feature.decorated.decorators": "데코레이터",
"feature.decorated.decorators.entry": "데코레이터",
"fields": "필드",
"fields": "항목",
"follow_reference": "참조",
"format.json": "JSON",
"format.yaml": "YAML",
@@ -76,7 +76,7 @@
"hide_project": "프로젝트 숨기기",
"highlighting": "강조",
"home": "홈",
"import": "임포트",
"import": "가져오기",
"indentation.2_spaces": "2 스페이스",
"indentation.4_spaces": "4 스페이스",
"indentation.minified": "축소됨",
@@ -113,8 +113,8 @@
"project.cancel": "취소",
"project.create": "새 프로젝트 생성",
"project.delete": "프로젝트 삭제",
"project.delete_confirm.1": "%0%가 삭제될 것입니다",
"project.delete_confirm.2": "프로젝트가 삭제되면 되돌릴 수 없습니다!",
"project.delete_confirm.1": "%0%이(가) 삭제됩니다",
"project.delete_confirm.2": "되돌릴 수 없습니다!",
"project.delete_file": "파일 삭제",
"project.download": "데이터 팩 다운로드",
"project.go_to": "프로젝트로 이동",
@@ -134,7 +134,7 @@
"project.show_file_paths": "파일 경로 보이기",
"project.show_resources": "리소스 보이기",
"project.unsaved_file": "저장되지 않은 파일",
"redo": "다시하기",
"redo": "다시 실행",
"remove": "제거",
"reset": "재설정",
"reset_default": "기본값으로 재설정",
@@ -162,9 +162,9 @@
"sounds.search": "소리 검색",
"sounds.unknown_sound": "알 수 없는 소리",
"sounds.volume": "볼륨",
"source_code_on": "소스 코드 켜기",
"source_code_on": "소스 코드 보기:",
"source_placeholder": "여기에 RAW %0%을(를) 붙여넣기",
"switch_generator": "제너레이터 변경",
"switch_generator": "생성기 변경",
"switch_project": "프로젝트 변경",
"switch_version": "버전 변경",
"tags": "태그",
@@ -174,12 +174,12 @@
"theme.light": "라이트",
"theme.system": "시스템",
"title.changelog": "기술적 변경내역",
"title.generator": "%0% 제너레이터",
"title.generator_category": "%0% 제너레이터",
"title.generator": "%0% 생성기",
"title.generator_category": "%0% 생성기",
"title.guides": "데이터 팩 가이드",
"title.home": "데이터 팩 생성기",
"title.new_project": "새 프로젝트 생성",
"title.partners": "파트너",
"title.partners": "모딩된 생성기",
"title.project": "%0% 프로젝트",
"title.sounds": "소리 탐색기",
"title.versions": "버전 탐색기",
@@ -196,15 +196,94 @@
"versions.previous": "이전",
"versions.protocol_version": "프로토콜 버전",
"versions.release_target": "릴리즈 목표",
"versions.released": "릴리즈",
"versions.released": "릴리즈 일자",
"versions.resource_pack_format": "리소스 팩 형식",
"versions.search": "버전 검색",
"worldgen": "월드젠",
"zoom_in": "줌 인",
"zoom_out": "줌 아웃",
"zoom_in": "확대",
"zoom_out": "축소",
"change.obsolete": "이 변경 사항은 이번 릴리스 주기의 이후 변경 사항으로 대체되었습니다",
"2d": "2D",
"3d": "3D",
"add_key": "키 추가",
"changelog": "기술적 변경 사항"
"changelog": "기술적 변경 사항",
"generators.all": "모든 생성기",
"title.whats_new": "새로운 소식",
"title.convert": "변환기",
"title.convert.formats": "%0% - %1% 변환기",
"title.generators": "데이터 팩 생성기",
"title.customized": "사용자 지정 세계",
"generator.enchantment": "마법 부여",
"generators.search": "생성기 검색",
"generators.recent": "최근 사용한 생성기",
"generators.popular": "인기 생성기",
"title.transformation": "변형 시각화",
"tools": "도구",
"generator.damage_type": "데미지 타입",
"generator.dialog": "다이얼로그",
"generator.enchantment_provider": "마법 부어 공급자",
"transformation.translation": "번역",
"version_diff.word_wrap": "문자 감싸기",
"unset": "-- 미설정 --",
"transformation.scale": "크기",
"transformation.rotation_mode.axis_angle": "축각",
"transformation.rotation_mode": "포맷: %0%",
"transformation.rotation_mode.quaternion": "쿼터니언",
"versions.latest_snapshot": "최신 스냅샷",
"versions.minecraft_versions": "Minecraft 버전",
"versions.latest_release": "최신 릴리스",
"generator.tag/banner_pattern": "현수막 무늬 태그",
"generator.tag/cat_variant": "고양이 종류 태그",
"generator.atlas": "아틀라스",
"generator.banner_pattern": "현수막 무늬",
"generator.cat_variant": "고양이 종류",
"generator.cow_variant": "소 종류",
"contributor.report": "버그 제보자",
"contributor.support": "지원자",
"changelog.show_more": "%0%개의 변경 사항 더 보기",
"customized.biomes": "생물 군계",
"convert.format.give-command": "/give",
"contributor.code": "코드 기여자",
"contributor.translation": "변역가",
"convert.format.recipe-output": "제작법 결과물",
"convert.select": "-- 선택하기 --",
"customized.basic": "기본",
"customized.error_min_version": "사용자 지정 세계는 버젼 %0%전에는 지원되지 않습니다",
"customized.ores": "광물",
"customized.structures": "구조물",
"format.snbt": "SNBT",
"generate_new_color": "새로운 색 생성하기",
"changelog.edit_on_github": "깃헙에서 기술적 변경 사항 편집하기",
"layer": "층",
"mode.top": "상단",
"mode.3d": "3D",
"layer.depth": "깊이",
"inline": "인라인",
"guides": "가이드",
"generators.no_results": "검색 결과에 맞는 생성기가 없습니다",
"convert.swap": "교환",
"cutoff": "절단",
"missing_key": "필수키 %0%가 누락되었습니다",
"versions.wiki": "위키",
"whats_new": "무엇이 바뀌었나요?",
"whats_new.description": "misode.github.io의 최신 개발 소식을 받아보세요. 아래에서 최근에 추가된 기능을 확인해 보세요.",
"whats_new.new": "새로운 것",
"wiki": "위키",
"y": "Y",
"z": "Z",
"zoom_in_limit": "더 이상 확대할 수 없습니다.\n1픽셀 = 4블록",
"convert.format.loot-table": "전리품 테이블",
"convert.format.item-modifier": "아이템 수정자",
"generator.ad_astra:planets": "Ad Astra 행성",
"generator.browse_available": "%0% 에서 사용 가능한 생성기 보기",
"generator.chicken_variant": "닭 종류",
"generator.equipment": "장비",
"generator.error_max_version": "이 생성기는 %0% 이상 버전에서 사용할 수 없습니다.",
"generator.error_min_version": "이 생성기는 %0% 버전 이상에서만 사용할 수 있습니다.",
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.font": "글꼴",
"generator.frog_variant": "개구리 종류",
"generator.instrument": "악기",
"generator.item_definition": "아이템"
}
+29 -19
View File
@@ -4,29 +4,29 @@
"add_top": "Adicionar no início",
"any_version": "Qualquer",
"back": "Voltar",
"changelog": "Mudanças técnicas",
"changelog.no_results": "Nenhuma mudança detectada",
"changelog.search": "Procurar mudanças",
"changelog.show_more": "Mostrar %0% mudanças",
"choose_file": "Escolher arquivo",
"choose_zip_file": "Escolher arquivo zip",
"changelog": "Alterações técnicas",
"changelog.no_results": "Nenhuma alteração detectada",
"changelog.search": "Procurar alterações",
"changelog.show_more": "Mostrar %0% alterações",
"choose_file": "Escolher ficheiro",
"choose_zip_file": "Escolher ficheiro ZIP",
"collapse": "Fechar",
"collapse_all": "Segure %0% para fechar todos",
"copied": "Copiado!",
"copy": "Copiar",
"copy_context": "Copiar contexto",
"copy_share": "Copiar link",
"download": "Transferir",
"copy_share": "Copiar ligação de partilha",
"download": "Descarregar",
"duplicate": "Duplicar",
"entries_hidden": "%0% entidades escondidas",
"entries_hidden.all": "Mostrar todos",
"entries_hidden.all": "Mostrar tudo",
"entries_hidden.more": "Mostrar mais %0%",
"expand": "Expandir",
"expand_all": "Segurar %0% para expandir todos",
"expand_all": "Segurar %0% para expandir tudo",
"feature.decorated.decorators": "Decoradores",
"feature.decorated.decorators.entry": "Decorador",
"fields": "Campos",
"generate_new_seed": "Gerar nova seed",
"generate_new_seed": "Gerar nova \"seed\"",
"generator.advancement": "Conquista",
"generator.dimension": "Dimensão",
"generator.dimension_type": "Tipo de Dimensão",
@@ -99,7 +99,7 @@
"project.search": "Pesquisar projeto",
"project.search_drafts": "Pesquisar rascunhos",
"contributor.infrastructure": "Infraestrutura",
"contributor.support": "Apoiador",
"contributor.support": "Apoiante",
"contributor.translation": "Tradutor",
"3d": "3D",
"configure_layers": "Configurar camadas",
@@ -115,12 +115,12 @@
"partner.immersive_weathering": "Immersive Weathering",
"presets.no_results_for_query": "Sem predefinições para essa pesquisa",
"project.name": "Nome do Projeto",
"enabled": "Habilitado",
"enabled": "Ativado",
"add_key": "Adicionar chave",
"convert.format.give-command": "/give",
"convert.format.loot-table": "Tabela de saque",
"convert.format.item-modifier": "Modificador de item",
"convert.format.recipe-output": "Saída de receita",
"convert.format.recipe-output": "Resultado da receita",
"convert.select": "-- Selecionar --",
"convert.swap": "Trocar",
"format.snbt": "SNBT",
@@ -208,10 +208,10 @@
"generator.tag/block": "Etiqueta de Bloco",
"generator.tag/cat_variant": "Etiqueta de Variante de Gato",
"generator.tag/fluid": "Etiqueta de Líquido",
"changelog.edit_on_github": "Editar mudanças técnicas no GitHub",
"customized.error_min_version": "Mundos customizados não estão disponíveis em versões antes de %0%",
"changelog.edit_on_github": "Editar atlerações técnicas no GitHub",
"customized.error_min_version": "Mundos personalizados não estão disponíveis em versões antes de %0%",
"developed_by": "Desenvolvido por",
"disabled": "Desabilitado",
"disabled": "Desativado",
"donate": "Doar",
"format.json": "JSON",
"format.yaml": "YAML",
@@ -270,8 +270,18 @@
"mode.side": "Lado",
"mode.top": "Topo",
"project.show_file_paths": "Mostrar caminho de arquivos",
"contributor.report": "Relatador de erros",
"contributor.report": "Relator de erros",
"sounds.loading_sound": "Carregando sons",
"sounds.volume": "Volume",
"switch_version": "Mudar versão"
"switch_version": "Mudar versão",
"cutoff": "Limite",
"generator.ad_astra:planets": "Planeta do Ad Astra",
"generator.chicken_variant": "Variante de Galinha",
"generator.create:recipes": "Criar receitas",
"generator.dialog": "Diálogo",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.texture_meta": "Metadados de textura",
"generator.neoforge:data_map_acceptable_villager_distances": "Mapa de dados das distâncias aceitáveis entre aldeões",
"generator.neoforge:data_map_strippables": "Mapa de dados de objetos descascáveis",
"generator.neoforge:data_map_villager_types": "Mapa de dados dos tipos de aldeão com bioma"
}
+45 -3
View File
@@ -18,7 +18,7 @@
"configure_layers": "Выбрать слой",
"contributor.code": "Коддер",
"contributor.infrastructure": "Инфраструктура",
"contributor.report": "QA",
"contributor.report": "Отчёт об ошибке",
"contributor.support": "Поддержка",
"contributor.translation": "Переводчик",
"copied": "Скопировано!",
@@ -154,7 +154,7 @@
"preview.weather.rain": "Дождь",
"preview.weather.thunder": "Гроза",
"preview.width": "Ширина",
"project.cancel": "Отмена",
"project.cancel": "Отменить",
"project.create": "Создать новый проект",
"project.delete": "Удалить проект",
"project.delete_confirm.1": "Вы собираетесь удалить %0%",
@@ -354,5 +354,47 @@
"generator.frog_variant": "Вариант Лягушки",
"generator.test_instance": "Тестовая Задача",
"generator.test_environment": "Тестовая Среда",
"generator.wolf_sound_variant": "Вариация звука Волка"
"generator.wolf_sound_variant": "Вариация звука Волка",
"generator.chicken_variant": "Вариант Курицы",
"generator.create:recipes": "Создать рецепт",
"generator.dialog": "Диалог",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.texture_meta": "Метаданные текстуры",
"generator.tag/dialog": "Тэг для Диалога",
"generator.thermoo:environment_provider": "Поставщик Окружения",
"generator.thermoo:environment": "Окружение",
"generator.thermoo:temperature_effect": "Температурный Эффект",
"generator.thermoo:predicate": "Предикаты Thermoo",
"generator.pixelmon:pokedex_region": "Регион",
"inline": "Встроенный",
"partner.create": "Create",
"partner.thermoo": "Thermoo",
"generator.ad_astra:planets": "Планета Ad Astra",
"generator.neoforge:data_map_acceptable_villager_distances": "Карта реакций жителей на сущность",
"generator.neoforge:data_map_strippables": "Карта удаляемых значений",
"generator.neoforge:data_map_villager_types": "Карта биомов для типов жителей",
"generator.pixelmon:raid_ally_set": "Набор союзников для рейда Pixelmon",
"generator.pixelmon:raid_spawn_set": "Набор спавнов в рейде Pixelmon",
"generator.pixelmon:spawn_replacement": "Замена спавна Pixelmon",
"generator.pixelmon:type": "Тип Pixelmon",
"generator.pixelmon:growth": "Рост Pixelmon",
"generator.pixelmon:interaction_event": "Событие взаимодействия Pixelmon",
"generator.pixelmon:research": "Исследование Pixelmon",
"generator.pixelmon:research_trigger": "Триггер Исследования Pixelmon",
"generator.pixelmon:npc_preset": "Пресет NPC Pixelmon",
"generator.pixelmon:pokedex": "Покедекс",
"generator.pixelmon:pokedex_trigger": "Триггер Покедекса",
"partner.ad_astra": "Ad Astra (К Звёздам!)",
"partner.pixelmon": "Pixelmon",
"generator.loot-table-modifier:loot_modifier": "Модификатор выпадение",
"generator.tag/zombie_nautilus_variant": "Тэг варианта зомби-наутилуса",
"generator.zombie_nautilus_variant": "Вариант зомби-наутилуса",
"partner.loot-table-modifier": "Модификатор таблицы выпадения",
"generator.tag/timeline": "Тег Временной Шкалы",
"generator.villager_trade": "Торг с жителем",
"generator.tag/villager_trade": "Тег Продаж Жителя",
"generator.timeline": "Временная Шкала",
"generator.sulfur_cube_archetype": "Архетип Серного Куба",
"generator.tag/trade_set": "Тег Набора Торговли",
"generator.trade_set": "Набор Торговли"
}
+158 -66
View File
@@ -1,68 +1,160 @@
{
"add": "Pridať",
"add_bottom": "Pridať dole",
"add_top": "Pridať hore",
"collapse": "Zložiť",
"collapse_all": "Podržaním %0% zbalíte všetky",
"copied": "Skopírované!",
"copy": "Kopírovať",
"copy_context": "Kopírovať kontext",
"download": "Stiahnuť",
"duplicate": "Kópia",
"entries_hidden": "%0% položiek skrytých",
"entries_hidden.all": "Ukázať všetko",
"entries_hidden.more": "Zobraziť %0% viac",
"expand": "Rozbaliť",
"expand_all": "Ak chcete rozbaliť všetko, podržte %0%",
"feature.decorated.decorators": "Dekoratéri",
"feature.decorated.decorators.entry": "Dekoratér",
"fields": "Polia",
"generate_new_seed": "Vytvorte nový seed",
"generator.advancement": "Pokrok",
"generator.dimension": "Dimenzia",
"generator.dimension_type": "Typ dimenzie",
"generator.item_modifier": "Úprava itemov",
"generator.loot_table": "Zoznam lupov",
"generator.predicate": "Predikát",
"generator.recipe": "Recept",
"generator.world": "Nastavenia sveta",
"generator.worldgen/configured_carver": "Carver",
"generator.worldgen/configured_feature": "Doplnky",
"generator.worldgen/configured_structure_feature": "Doplnky štruktúr",
"generator.worldgen/configured_surface_builder": "Povrchový staviteľ",
"generator.worldgen/noise_settings": "Nastavenia šumu",
"generator.worldgen/processor_list": "Zoznam procesorov",
"generator.worldgen/template_pool": "Súbor šablon",
"github": "GitHub",
"hide_output": "Skryť výstup JSON",
"hide_preview": "Skryť ukážku",
"home": "Domov",
"import": "Importovať",
"indentation.2_spaces": "2 medzery",
"indentation.4_spaces": "4 medzery",
"indentation.tabs": "Karty",
"language": "Jazyk",
"more": "Viacej",
"move_down": "Posunúť nadol",
"move_up": "Posunúť sa hore",
"no_presets": "Žiadne predvoľby",
"not_found.description": "Stránka, ktorú ste hľadali, neexistuje.",
"output_settings": "Nastavenia výstupu JSON",
"presets": "Prednastavenia",
"preview": "Vizualizovať",
"preview.depth": "Hĺbka",
"preview.scale": "Veľkosť",
"preview.width": "Šírka",
"redo": "Pripravený",
"reset": "Resetovať",
"search": "Vyhľadávanie",
"settings": "Nastavenia",
"settings.fields.description": "Prispôsobiť nastavenia pokročilých polí",
"settings.fields.name": "Meno",
"settings.fields.path": "Kontext",
"share": "Zdieľať",
"title.generator": "%0% Generátor",
"title.home": "Data Packové Generátory",
"undo": "Späť",
"worldgen/biome": "Bióm"
"add": "Pridať",
"add_bottom": "Pridať dole",
"add_top": "Pridať hore",
"collapse": "Zložiť",
"collapse_all": "Podržaním %0% zbalíte všetky",
"copied": "Skopírované!",
"copy": "Kopírovať",
"copy_context": "Kopírovať kontext",
"download": "Stiahnuť",
"duplicate": "Kópia",
"entries_hidden": "%0% položiek skrytých",
"entries_hidden.all": "Ukázať všetko",
"entries_hidden.more": "Zobraziť %0% viac",
"expand": "Rozbaliť",
"expand_all": "Ak chcete rozbaliť všetko, podržte %0%",
"feature.decorated.decorators": "Dekoratéri",
"feature.decorated.decorators.entry": "Dekoratér",
"fields": "Polia",
"generate_new_seed": "Vytvorte nový seed",
"generator.advancement": "Pokrok",
"generator.dimension": "Dimenzia",
"generator.dimension_type": "Typ dimenzie",
"generator.item_modifier": "Úprava itemov",
"generator.loot_table": "Zoznam lupov",
"generator.predicate": "Predikát",
"generator.recipe": "Recept",
"generator.world": "Nastavenia sveta",
"generator.worldgen/configured_carver": "Carver",
"generator.worldgen/configured_feature": "Doplnky",
"generator.worldgen/configured_structure_feature": "Doplnky štruktúr",
"generator.worldgen/configured_surface_builder": "Povrchový staviteľ",
"generator.worldgen/noise_settings": "Nastavenia šumu",
"generator.worldgen/processor_list": "Zoznam procesorov",
"generator.worldgen/template_pool": "Súbor šablon",
"github": "GitHub",
"hide_output": "Skryť výstup JSON",
"hide_preview": "Skryť ukážku",
"home": "Domov",
"import": "Importovať",
"indentation.2_spaces": "2 medzery",
"indentation.4_spaces": "4 medzery",
"indentation.tabs": "Karty",
"language": "Jazyk",
"more": "Viacej",
"move_down": "Posunúť nadol",
"move_up": "Posunúť sa hore",
"no_presets": "Žiadne predvoľby",
"not_found.description": "Stránka, ktorú ste hľadali, neexistuje.",
"output_settings": "Nastavenia výstupu JSON",
"presets": "Prednastavenia",
"preview": "Vizualizovať",
"preview.depth": "Hĺbka",
"preview.scale": "Veľkosť",
"preview.width": "Šírka",
"redo": "Pripravený",
"reset": "Resetovať",
"search": "Vyhľadávanie",
"settings": "Nastavenia",
"settings.fields.description": "Prispôsobiť nastavenia pokročilých polí",
"settings.fields.name": "Meno",
"settings.fields.path": "Kontext",
"share": "Zdieľať",
"title.generator": "%0% Generátor",
"title.home": "Data Packové Generátory",
"undo": "Späť",
"worldgen/biome": "Bióm",
"2d": "2D",
"3d": "3D",
"add_key": "Pridať kľúč",
"any_version": "Akýkoľvek",
"back": "Späť",
"change.obsolete": "Táto zmena bola nahradená aktuálnejšou zmenou v cykle vydaní",
"changelog": "Technický záznam zmien",
"changelog.edit_on_github": "Upraviť technické zmeny na GitHub",
"changelog.no_results": "Žiadne zdokumentované zmeny",
"changelog.search": "Vyhľadávať zmeny",
"changelog.show_more": "Zobraziť ďalších %0% zmien",
"choose_file": "Vybrať súbor",
"choose_zip_file": "Vybrať ZIP archív",
"configure_layers": "Konfigurovať vrstvy",
"contributor.code": "Prispievateľ kódu",
"contributor.infrastructure": "Infraštruktúra",
"contributor.report": "Hlásič chýb",
"contributor.support": "Podpora",
"contributor.translation": "Prekladač",
"convert.format.give-command": "/give",
"convert.format.loot-table": "Tabuľka koristi",
"convert.format.item-modifier": "Modifikátor itemov",
"convert.format.recipe-output": "Výstup receptov",
"convert.select": "--vyberte--",
"convert.swap": "Vymeniť",
"copy_share": "Kopírovať odkaz na zdieľanie",
"customized.basic": "Základný",
"customized.biomes": "Biómy",
"customized.error_min_version": "Vlastné svety nie sú k dispozícii vo verziách starších ako %0%",
"customized.ores": "Rudy",
"customized.structures": "Štruktúry",
"cutoff": "Limit",
"developed_by": "Vyvinuté",
"disabled": "Blokovaný",
"donate": "Podporiť",
"enabled": "Povolený",
"follow_reference": "Sledovať referenciu",
"format.json": "JSON",
"format.snbt": "SNBT",
"format.yaml": "YAML",
"generate_new_color": "Generovať novú farbu",
"generate_new_uuid": "Generovať nové UUID",
"generator.ad_astra:planets": "Planéta Ad Astra",
"generator.atlas": "Atlas",
"generator.banner_pattern": "Vzor zástavy",
"generator.block_definition": "Stav bloku",
"generator.browse_available": "Prehľadávať generátory dostupné pre %0%",
"generator.cat_variant": "Varianty mačiek",
"generator.chat_type": "Typ četu",
"generator.chicken_variant": "Varianty sliepkok",
"generator.cow_variant": "Varianty kráv",
"generator.create:recipes": "Vytvoriť recepty",
"generator.damage_type": "Typ poškodenia",
"generator.dialog": "Dialóg",
"generator.enchantment": "Očarovanie",
"generator.enchantment_provider": "Poskytovateľ očarovania",
"generator.equipment": "Vybavenie",
"generator.error_max_version": "Tento generátor nie je dostupný vo verziách novších ako %0%",
"generator.error_min_version": "Minimálna verzia pre tento generátor je %0%",
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"generator.font": "Písmo",
"generator.frog_variant": "Varianty žiab",
"generator.immersive_weathering:block_growth": "Rast blokov",
"generator.instrument": "Nástroj",
"generator.item_definition": "Item",
"generator.jukebox_song": "Pieseň do jukeboxu",
"generator.lang": "Jazyk",
"generator.model": "Model",
"generator.texture_meta": "Metadáta textúr",
"generator.neoforge:biome_modifier": "Modifikátor biómov",
"assets": "Zdroje",
"generator.neoforge:data_map_acceptable_villager_distances": "Dátová mapa vzdialeností prijateľných dedinčanov",
"generator.neoforge:data_map_compostables": "Dátová mapa kompostovateľných itemov",
"generator.neoforge:data_map_furnace_fuels": "Dátová mapa palív do pece",
"generator.neoforge:data_map_monster_room_mobs": "Dátová mapa mobov v Spawner Miestnosti",
"generator.neoforge:data_map_oxidizables": "Dátová mapa oxidovateľných blokov",
"generator.neoforge:data_map_parrot_imitations": "Dátová mapa papagájskych imitácii",
"generator.neoforge:data_map_raid_hero_gifts": "Dátová mapa darčekov pre nájazdového hrdinu",
"generator.neoforge:data_map_strippables": "Dátová mapa olúpateľných blokov",
"generator.neoforge:data_map_vibration_frequencies": "Dátová mapa frekvencií vibrácií",
"generator.neoforge:data_map_villager_types": "Dátová mapa biómových typov dedinčanov",
"generator.neoforge:data_map_waxables": "Dátová mapa voskovateľných blokov",
"generator.neoforge:structure_modifier": "Modifikátor štruktúr",
"generator.not_found": "Nemôžem nájsť generátor \"%0%\"",
"generator.ohthetreesyoullgrow:configured_feature": "Funkcia OTTYG",
"generator.sky_aesthetics:sky": "Vlastná obloha",
"generator.pack_mcmeta": "pack.mcmeta",
"generator.painting_variant": "Variant maľby",
"generator.pig_variant": "Variant prasaťa",
"generator.post_effect": "Postefekt",
"generator.switch_version": "Prepnúť na %0%"
}
+390 -290
View File
@@ -1,292 +1,392 @@
{
"2d": "2D",
"3d": "3D",
"add": "Ekle",
"add_bottom": "Alta ekle",
"add_top": "Üste ekle",
"any_version": "Herhangi",
"assets": "Assetler",
"back": "Geri",
"change.obsolete": "This change has been replaced by a later change in this release cycle",
"changelog": "Teknik değişim kaydı",
"changelog.no_results": "Kaydedilmiş değişim bulunamadı",
"changelog.search": "Değşimleri ara",
"changelog.show_more": "%0% değişim daha göster",
"choose_file": "Dosya seç",
"choose_zip_file": "Zip dosyası seç",
"collapse": "Daralt",
"collapse_all": "Herşeyi sıkıştırmak için %0% basılı tut",
"configure_layers": "Katmanları düzenle",
"contributor.code": "Katkıda bulunanlar",
"contributor.infrastructure": "Altyapı",
"contributor.report": "Hata raporlayıcı",
"contributor.support": "Destekçi",
"contributor.translation": "Çevirmen",
"copied": "Kopyalandı!",
"copy": "Kopyala",
"copy_context": "İçeriği kopyala",
"copy_share": "Kopyala ve linki paylaş",
"customized.basic": "Basit",
"customized.biomes": "Biyomlar",
"customized.error_min_version": "%0%'den önceki sürümlerde özel dünyalar mevcut değil",
"customized.ores": "Madenler",
"customized.structures": "Yapılar",
"cutoff": "Kesilmiş",
"developed_by": "Tarafından geliştirildi",
"disabled": "Pasif",
"donate": "Bağış Yap",
"download": "İndir",
"duplicate": "Kopyala",
"enabled": "Aktif",
"entries_hidden": "%0% giriş gizli",
"entries_hidden.all": "Hepsini göster",
"entries_hidden.more": "%0% tane daha göster",
"expand": "Genişlet",
"expand_all": "Hepsini genişletmek için %0% basılı tut",
"feature.decorated.decorators": "Dekoratörler",
"feature.decorated.decorators.entry": "Dekoratör",
"fields": "Alanlar",
"follow_reference": "Referansı takip et",
"format.json": "JSON",
"format.yaml": "YAML",
"generate_new_color": "Yeni renk oluştur",
"generate_new_seed": "Yeni tohum oluştur",
"generate_new_uuid": "Yeni UUID oluştur",
"generator.advancement": "Başarım",
"generator.atlas": "Atlas",
"generator.block_definition": "Blockstate",
"generator.browse_available": "%0% için mevcut oluşturuculara göz at",
"generator.chat_type": "Sohbet Türü",
"generator.damage_type": "Hasar Türü",
"generator.dimension": "Boyut",
"generator.dimension_type": "Boyut Tipi",
"generator.error_max_version": "Bu oluşturucu %0%'den sonraki sürümlerde mevcut değil",
"generator.error_min_version": "Bu oluşturucunun minimum sürümü %0%",
"generator.font": "Font",
"generator.immersive_weathering.block_growth": "Block Growth",
"generator.item_modifier": "Eşya Değiştirici",
"generator.loot_table": "Ganimet Tablosu",
"generator.model": "Model",
"generator.not_found": "\"%0%\" Oluşturucusu bulunaması",
"generator.pack_mcmeta": "Pack.mcmeta",
"generator.predicate": "Predicate",
"generator.recipe": "Tarif",
"generator.switch_version": "%0% sürümüne geç",
"generator.tag/banner_pattern": "Flama Desen Etiketi",
"generator.tag/block": "Block Etiketi",
"generator.tag/cat_variant": "Kedi Türü Etiketi",
"generator.tag/damage_type": "Hasar Türü Etiketi",
"generator.tag/entity_type": "Canlı Türü Etiketi",
"generator.tag/fluid": "Sıvı Etiketi",
"generator.tag/game_event": "Olay Etiketi",
"generator.tag/instrument": "Enstürman Etikesi",
"generator.tag/item": "Eşya Etiketi",
"generator.tag/painting_variant": "Tablo Türü Etiketi",
"generator.tag/point_of_interest_type": "İlgi Noktası Türü Etiketi",
"generator.tag/worldgen/biome": "Biyom Etiketi",
"generator.tag/worldgen/flat_level_generator_preset": "Düz Dünya Ön Ayar Etiketi",
"generator.tag/worldgen/structure": "Yapı Etiketi",
"generator.tag/worldgen/structure_set": "Yapı Seti Etiketi",
"generator.tag/worldgen/world_preset": "Dünya Ön Ayar Etiketi",
"generator.text_component": "Yazı Komponenti",
"generator.trim_material": "Şablon Materyali",
"generator.trim_pattern": "Şablon Deseni",
"generator.world": "Dünya Ayarları",
"generator.worldgen/biome": "Biyom",
"generator.worldgen/configured_carver": "Düzenlenmiş Carver",
"generator.worldgen/configured_feature": "Düzenlenmiş Feature",
"generator.worldgen/configured_structure_feature": "Yapı Özelliği",
"generator.worldgen/configured_surface_builder": "Yüzey Yapıcı",
"generator.worldgen/density_function": "Yoğunluk Fonsiyonu",
"generator.worldgen/flat_level_generator_preset": "Düz Dünya Ön Ayarı",
"generator.worldgen/noise": "Noise",
"generator.worldgen/noise_settings": "Noise Ayarları",
"generator.worldgen/placed_feature": "Koyulmuş Özellik",
"generator.worldgen/processor_list": "İşleyici Listesi",
"generator.worldgen/structure": "Yapı",
"generator.worldgen/structure_set": "Yapı Seti",
"generator.worldgen/template_pool": "Şablon Havuzu",
"generator.worldgen/world_preset": "Dünya Ön Ayarı",
"generators.all": "Bütün Oluşturucular",
"generators.no_results": "Bu sorgu için oluşturucu yok",
"generators.popular": "Popüler Oluşturucular",
"generators.recent": "Yakın Zamanda Kullanılmış Oluşturucular",
"generators.search": "Oluşturuları Ara",
"github": "GitHub",
"guides": "Rehberler",
"hide_output": "Çıktıyı gizle",
"hide_preview": "Önizlemeyi gizle",
"hide_project": "Projeyi gizle",
"highlighting": "Vurgulama",
"home": "Ev",
"import": "İçe aktar",
"indentation.2_spaces": "2 boşluk",
"indentation.4_spaces": "4 boşluk",
"indentation.minified": "Küçültülmüş",
"indentation.tabs": "Pencereler",
"language": "Dil",
"layer": "Katman",
"layer.biomes": "Biyomlar",
"layer.continents": "Kıtasallık",
"layer.depth": "Derinlik",
"layer.erosion": "Erozyon",
"layer.ridges": "Gariplik",
"layer.temperature": "Sıcaklık",
"layer.vegetation": "Nem",
"learn_on_the_wiki": "Wiki'de öğren",
"loading": "Yükleniyor...",
"mode.3d": "3D",
"mode.side": "Kenar",
"mode.top": "Yukarı",
"more": "Daha Faza",
"move_down": "Aşağı taşı",
"move_up": "Yukarı yaşı",
"no_file_chosen": "Dosya seçilmemiş",
"no_presets": "Ön ayar yok",
"normalize": "Normalleştir",
"not_found.description": "Baktığın sayfa bulunmuyor.",
"output_settings": "Çıktı ayarları",
"partner.immersive_weathering": "Immersive Weathering",
"presets": "Ön ayarlar",
"preview": "Görselleştir",
"preview.auto_scroll": "Otomatik kaydırma",
"preview.biome": "Biyom",
"preview.daytime": "Zaman",
"preview.depth": "Derinlik",
"preview.factor": "Faktör",
"preview.final_density": "Son yoğunluğu göster",
"preview.height": "Yükseklir",
"preview.luck": "Şans",
"preview.min_y": "Min Y",
"preview.offset": "Offset",
"preview.peaks": "Peakler",
"preview.scale": "Boyut",
"preview.weather": "Hava",
"preview.weather.clear": "Açık",
"preview.weather.rain": "Yağmur",
"preview.weather.thunder": "Fırtına",
"preview.width": "Genişlik",
"project.cancel": "İptal",
"project.create": "Yeni proje oluştur",
"project.delete": "Projeyi sil",
"project.delete_confirm.1": "%0% Projesini silmek üzeresin",
"project.delete_confirm.2": "Bu işlem geri alınamaz!",
"project.delete_file": "Dosyayı sil",
"project.download": "Veri paketini indir",
"project.go_to": "Projeye git",
"project.name": "Proje adı",
"project.name.already_exists": "Bu ada sahip bir proje zaten var",
"project.namespace": "Varsayılan namespace",
"project.namespace.invalid": "Geçersiz namespace",
"project.new": "Yeni proje",
"project.new_file": "Yeni boş dosya",
"project.no_files": "Dosya yok",
"project.rename": "Yeniden adlandır",
"project.rename_file": "Dosyayı yeniden adlandır",
"project.save": "Farklı kaydet",
"project.save_current_file": "Dosyayı projeye kaydet",
"project.search": "Proje ara",
"project.search_drafts": "Taskaları ara",
"project.show_file_paths": "Dosya yollarını göster",
"project.show_resources": "Kaynakları göster",
"project.unsaved_file": "Kaydedilmemiş dosya",
"redo": "Yeniden Yap",
"remove": "Sil",
"reset": "Sıfırla",
"reset_default": "Varsayılana sıfırla",
"resource_location": "Kaynak konumu",
"restore_backup": "Son yedeği yükle",
"search": "Ara",
"settings": "Ayarlar",
"settings.fields.description": "Gelişmiş alan ayarlarını özelleştir",
"settings.fields.name": "Ad",
"settings.fields.path": "İçerik",
"share": "Paylaş",
"share.loading": "Paylaşma linki alınıyor...",
"show_output": "Çıktıyı göster",
"show_preview": "Önizlemeyi göster",
"show_project": "Projeyi göster",
"sounds.add_sound": "Ses ekle",
"sounds.copy_command": "Komutu kopyala",
"sounds.delay": "Gecikme",
"sounds.download_function": "Mcfunction'ı indir",
"sounds.loading_sound": "Ses yükleniyor",
"sounds.pitch": "Ton",
"sounds.play": "Oynat",
"sounds.play_all": "Hepsini Oynat",
"sounds.play_sound": "Sesi Oynat",
"sounds.remove_sound": "Ses sil",
"sounds.search": "Sesleri ara",
"sounds.unknown_sound": "Bilinmeyen ses",
"sounds.volume": "Ses",
"source_code_on": "Kaynak kodu",
"source_placeholder": "%0% içeriğini buraya yapıştırın",
"switch_generator": "Oluşturucuyu değiştir",
"switch_project": "Projeyi değiştir",
"switch_version": "Sürümü değiştir",
"tags": "Etiketler",
"terrain_settings": "Arazi ayarları",
"theme": "Tema",
"theme.dark": "Koyu",
"theme.light": "Açık",
"theme.system": "Sistem",
"title.changelog": "Teknik Değim Kaydı",
"title.customized": "Özelleştirilmiş Dünyalar",
"title.generator": "%0% Oluşturucu",
"title.generator_category": "%0% Oluşturucu",
"title.generators": "Veri Paketi Oluşturucuları",
"title.guides": "Veri Paketi Rehberleri",
"title.home": "Veri Paketi Oluşturucuları",
"title.new_project": "Yeni proje oluştur",
"title.partners": "Partnerler",
"title.project": "%0% Proje",
"title.sounds": "Ses Gezgini",
"title.transformation": "Dönüşüm Görselleştiricisi",
"title.versions": "Sürüm Gezgini",
"title.whats_new": "Yeni ne var?",
"title.worldgen": "Worldgen Oluşturucuları",
"tools": "Aletler",
"transformation.copy_composed": "Matrix formatı kopyala",
"transformation.copy_decomposed": "Ayrışmık formatı kopyala",
"transformation.left_rotation": "Sola döndürme",
"transformation.matrix": "Matrix",
"transformation.right_rotation": "Sağa döndürme",
"transformation.rotation_mode": "Format: %0%",
"transformation.rotation_mode.axis_angle": "Eksen-açı",
"transformation.rotation_mode.quaternion": "Kuaterniyon",
"transformation.scale": "Boyut",
"transformation.translation": "Konum",
"undo": "Geri Al",
"version_diff.word_wrap": "Word wrap",
"versions.all": "Bütün sürümler",
"versions.article": "Makale",
"versions.changelog": "Teknik değişiklikler",
"versions.data_pack_format": "Veri paket formatı",
"versions.data_version": "Data sürümü",
"versions.diff": "Mcmeta diff",
"versions.fixes": "Düzeltişmiş hatalar",
"versions.fixes.no_results": "Hata yok",
"versions.latest_release": "En sonki tam sürüm",
"versions.latest_snapshot": "En sonki snapshot",
"versions.minecraft_versions": "Minecraft Sürümleri",
"versions.next": "Sonraki",
"versions.no_results": "Sonuç yok",
"versions.pack_format": "Paket formatı",
"versions.previous": "Önceki",
"versions.protocol_version": "Protokol sürümü",
"versions.release_target": "Yayınlanma hedefi",
"versions.released": "Yayınlanmış",
"versions.resource_pack_format": "Kaynak paketi formatı",
"versions.search": "Sürümleri ara",
"weight": "Ağırlık",
"whats_new": "Ne yeni?",
"whats_new.description": "misode.github.io'daki en son gelişmelerden haberdar ol. En son eklenen özellikler için aşağıyı okuyun.",
"whats_new.new": "YENİ",
"wiki": "Wiki",
"worldgen": "Worldgen",
"y": "Y",
"z": "Z",
"zoom_in": "Yakınlaştır",
"zoom_in_limit": "Daha fazla yakınlaştırılamaz\n1 piksel = 4 blok",
"zoom_out": "Uzaklaştır"
"2d": "2D",
"3d": "3D",
"add": "Ekle",
"add_bottom": "Alta ekle",
"add_top": "Üste ekle",
"any_version": "Herhangi",
"assets": "Assetler",
"back": "Geri",
"change.obsolete": "Bu değişim, yayınlamış bu aşamada değiştirildi",
"changelog": "Teknik değişim kaydı",
"changelog.no_results": "Kaydedilmiş değişim bulunamadı",
"changelog.search": "Değşimleri ara",
"changelog.show_more": "%0% değişim daha göster",
"choose_file": "Dosya seç",
"choose_zip_file": "Zip dosyası seç",
"collapse": "Daralt",
"collapse_all": "Herşeyi sıkıştırmak için %0% basılı tut",
"configure_layers": "Katmanları düzenle",
"contributor.code": "Katkıda bulunanlar",
"contributor.infrastructure": "Altyapı",
"contributor.report": "Hata raporlayıcı",
"contributor.support": "Destekçi",
"contributor.translation": "Çevirmen",
"copied": "Kopyalandı!",
"copy": "Kopyala",
"copy_context": "İçeriği kopyala",
"copy_share": "Kopyala ve linki paylaş",
"customized.basic": "Basit",
"customized.biomes": "Biyomlar",
"customized.error_min_version": "%0%'den önceki sürümlerde özel dünyalar mevcut değil",
"customized.ores": "Madenler",
"customized.structures": "Yapılar",
"cutoff": "Kesilmiş",
"developed_by": "Tarafından geliştirildi",
"disabled": "Pasif",
"donate": "Bağış Yap",
"download": "İndir",
"duplicate": "Kopyala",
"enabled": "Aktif",
"entries_hidden": "%0% giriş gizli",
"entries_hidden.all": "Hepsini göster",
"entries_hidden.more": "%0% tane daha göster",
"expand": "Genişlet",
"expand_all": "Hepsini genişletmek için %0% basılı tut",
"feature.decorated.decorators": "Dekoratörler",
"feature.decorated.decorators.entry": "Dekoratör",
"fields": "Alanlar",
"follow_reference": "Referansı takip et",
"format.json": "JSON",
"format.yaml": "YAML",
"generate_new_color": "Yeni renk oluştur",
"generate_new_seed": "Yeni tohum oluştur",
"generate_new_uuid": "Yeni UUID oluştur",
"generator.advancement": "Başarım",
"generator.atlas": "Atlas",
"generator.block_definition": "Blok Durumu",
"generator.browse_available": "%0% için mevcut oluşturuculara göz at",
"generator.chat_type": "Sohbet Türü",
"generator.damage_type": "Hasar Türü",
"generator.dimension": "Boyut",
"generator.dimension_type": "Boyut Tipi",
"generator.error_max_version": "Bu oluşturucu %0%'den sonraki sürümlerde mevcut değil",
"generator.error_min_version": "Bu oluşturucunun minimum sürümü %0%",
"generator.font": "Font",
"generator.immersive_weathering.block_growth": "Block Growth",
"generator.item_modifier": "Eşya Değiştirici",
"generator.loot_table": "Ganimet Tablosu",
"generator.model": "Model",
"generator.not_found": "\"%0%\" Oluşturucusu bulunaması",
"generator.pack_mcmeta": "Pack.mcmeta",
"generator.predicate": "Predicate",
"generator.recipe": "Tarif",
"generator.switch_version": "%0% sürümüne geç",
"generator.tag/banner_pattern": "Flama Desen Etiketi",
"generator.tag/block": "Block Etiketi",
"generator.tag/cat_variant": "Kedi Türü Etiketi",
"generator.tag/damage_type": "Hasar Türü Etiketi",
"generator.tag/entity_type": "Canlı Türü Etiketi",
"generator.tag/fluid": "Sıvı Etiketi",
"generator.tag/game_event": "Olay Etiketi",
"generator.tag/instrument": "Enstürman Etikesi",
"generator.tag/item": "Eşya Etiketi",
"generator.tag/painting_variant": "Tablo Türü Etiketi",
"generator.tag/point_of_interest_type": "İlgi Noktası Türü Etiketi",
"generator.tag/worldgen/biome": "Biyom Etiketi",
"generator.tag/worldgen/flat_level_generator_preset": "Düz Dünya Ön Ayar Etiketi",
"generator.tag/worldgen/structure": "Yapı Etiketi",
"generator.tag/worldgen/structure_set": "Yapı Seti Etiketi",
"generator.tag/worldgen/world_preset": "Dünya Ön Ayar Etiketi",
"generator.text_component": "Yazı Komponenti",
"generator.trim_material": "Şablon Materyali",
"generator.trim_pattern": "Şablon Deseni",
"generator.world": "Dünya Ayarları",
"generator.worldgen/biome": "Biyom",
"generator.worldgen/configured_carver": "Düzenlenmiş Carver",
"generator.worldgen/configured_feature": "Düzenlenmiş Feature",
"generator.worldgen/configured_structure_feature": "Yapı Özelliği",
"generator.worldgen/configured_surface_builder": "Yüzey Yapıcı",
"generator.worldgen/density_function": "Yoğunluk Fonsiyonu",
"generator.worldgen/flat_level_generator_preset": "Düz Dünya Ön Ayarı",
"generator.worldgen/noise": "Kalabalık (Noise)",
"generator.worldgen/noise_settings": "Kalabalık (Noise) Ayarları",
"generator.worldgen/placed_feature": "Koyulmuş Özellik",
"generator.worldgen/processor_list": "İşleyici Listesi",
"generator.worldgen/structure": "Yapı",
"generator.worldgen/structure_set": "Yapı Seti",
"generator.worldgen/template_pool": "Şablon Havuzu",
"generator.worldgen/world_preset": "Dünya Ön Ayarı",
"generators.all": "Bütün Oluşturucular",
"generators.no_results": "Bu sorgu için oluşturucu yok",
"generators.popular": "Popüler Oluşturucular",
"generators.recent": "Yakın Zamanda Kullanılmış Oluşturucular",
"generators.search": "Oluşturuları Ara",
"github": "GitHub",
"guides": "Rehberler",
"hide_output": "Çıktıyı gizle",
"hide_preview": "Önizlemeyi gizle",
"hide_project": "Projeyi gizle",
"highlighting": "Vurgulama",
"home": "Ev",
"import": "İçe aktar",
"indentation.2_spaces": "2 boşluk",
"indentation.4_spaces": "4 boşluk",
"indentation.minified": "Küçültülmüş",
"indentation.tabs": "Pencereler",
"language": "Dil",
"layer": "Katman",
"layer.biomes": "Biyomlar",
"layer.continents": "Kıtasallık",
"layer.depth": "Derinlik",
"layer.erosion": "Erozyon",
"layer.ridges": "Gariplik",
"layer.temperature": "Sıcaklık",
"layer.vegetation": "Nem",
"learn_on_the_wiki": "Wiki'de öğren",
"loading": "Yükleniyor...",
"mode.3d": "3D",
"mode.side": "Kenar",
"mode.top": "Yukarı",
"more": "Daha Faza",
"move_down": "Aşağı taşı",
"move_up": "Yukarı yaşı",
"no_file_chosen": "Dosya seçilmemiş",
"no_presets": "Ön ayar yok",
"normalize": "Normalleştir",
"not_found.description": "Baktığın sayfa bulunmuyor.",
"output_settings": "Çıktı ayarları",
"partner.immersive_weathering": "Immersive Weathering",
"presets": "Ön ayarlar",
"preview": "Görselleştir",
"preview.auto_scroll": "Otomatik kaydırma",
"preview.biome": "Biyom",
"preview.daytime": "Zaman",
"preview.depth": "Derinlik",
"preview.factor": "Faktör",
"preview.final_density": "Son yoğunluğu göster",
"preview.height": "Yükseklir",
"preview.luck": "Şans",
"preview.min_y": "Min Y",
"preview.offset": "Offset",
"preview.peaks": "Peakler",
"preview.scale": "Boyut (Evren)",
"preview.weather": "Hava",
"preview.weather.clear": "Açık",
"preview.weather.rain": "Yağmur",
"preview.weather.thunder": "Fırtına",
"preview.width": "Genişlik",
"project.cancel": "İptal",
"project.create": "Yeni proje oluştur",
"project.delete": "Projeyi sil",
"project.delete_confirm.1": "%0% Projesini silmek üzeresin",
"project.delete_confirm.2": "Bu işlem geri alınamaz!",
"project.delete_file": "Dosyayı sil",
"project.download": "Veri paketini indir",
"project.go_to": "Projeye git",
"project.name": "Proje adı",
"project.name.already_exists": "Bu ada sahip bir proje zaten var",
"project.namespace": "Varsayılan namespace",
"project.namespace.invalid": "Geçersiz namespace",
"project.new": "Yeni proje",
"project.new_file": "Yeni boş dosya",
"project.no_files": "Dosya yok",
"project.rename": "Yeniden adlandır",
"project.rename_file": "Dosyayı yeniden adlandır",
"project.save": "Farklı kaydet",
"project.save_current_file": "Dosyayı projeye kaydet",
"project.search": "Proje ara",
"project.search_drafts": "Taskaları ara",
"project.show_file_paths": "Dosya yollarını göster",
"project.show_resources": "Kaynakları göster",
"project.unsaved_file": "Kaydedilmemiş dosya",
"redo": "Yeniden Yap",
"remove": "Sil",
"reset": "Sıfırla",
"reset_default": "Varsayılana sıfırla",
"resource_location": "Kaynak konumu",
"restore_backup": "Son yedeği yükle",
"search": "Ara",
"settings": "Ayarlar",
"settings.fields.description": "Gelişmiş alan ayarlarını özelleştir",
"settings.fields.name": "Ad",
"settings.fields.path": "İçerik",
"share": "Paylaş",
"share.loading": "Paylaşma linki alınıyor...",
"show_output": "Çıktıyı göster",
"show_preview": "Önizlemeyi göster",
"show_project": "Projeyi göster",
"sounds.add_sound": "Ses ekle",
"sounds.copy_command": "Komutu kopyala",
"sounds.delay": "Gecikme",
"sounds.download_function": "Mcfunction'ı indir",
"sounds.loading_sound": "Ses yükleniyor",
"sounds.pitch": "Ton",
"sounds.play": "Oynat",
"sounds.play_all": "Hepsini Oynat",
"sounds.play_sound": "Sesi Oynat",
"sounds.remove_sound": "Ses sil",
"sounds.search": "Sesleri ara",
"sounds.unknown_sound": "Bilinmeyen ses",
"sounds.volume": "Ses",
"source_code_on": "Kaynak kodu",
"source_placeholder": "%0% içeriğini buraya yapıştırın",
"switch_generator": "Oluşturucuyu değiştir",
"switch_project": "Projeyi değiştir",
"switch_version": "Sürümü değiştir",
"tags": "Etiketler",
"terrain_settings": "Arazi ayarları",
"theme": "Tema",
"theme.dark": "Koyu",
"theme.light": "Açık",
"theme.system": "Sistem",
"title.changelog": "Teknik Değim Kaydı",
"title.customized": "Özelleştirilmiş Dünyalar",
"title.generator": "%0% Oluşturucu",
"title.generator_category": "%0% Oluşturucuları",
"title.generators": "Veri Paketi Oluşturucuları",
"title.guides": "Veri Paketi Rehberleri",
"title.home": "Veri Paketi Oluşturucuları",
"title.new_project": "Yeni proje oluştur",
"title.partners": "Partnerler",
"title.project": "%0% Proje",
"title.sounds": "Ses Gezgini",
"title.transformation": "Dönüşüm Görselleştiricisi",
"title.versions": "Sürüm Gezgini",
"title.whats_new": "Yeni ne var?",
"title.worldgen": "Worldgen Oluşturucuları",
"tools": "Aletler",
"transformation.copy_composed": "Matrix formatı kopyala",
"transformation.copy_decomposed": "Ayrışmık formatı kopyala",
"transformation.left_rotation": "Sola döndürme",
"transformation.matrix": "Matrix",
"transformation.right_rotation": "Sağa döndürme",
"transformation.rotation_mode": "Format: %0%",
"transformation.rotation_mode.axis_angle": "Eksen-açı",
"transformation.rotation_mode.quaternion": "Kuaterniyon",
"transformation.scale": "Boyut (Scale)",
"transformation.translation": "Konum",
"undo": "Geri Al",
"version_diff.word_wrap": "Dünya Yamulması",
"versions.all": "Bütün sürümler",
"versions.article": "Makale",
"versions.changelog": "Teknik değişiklikler",
"versions.data_pack_format": "Veri paket formatı",
"versions.data_version": "Data sürümü",
"versions.diff": "Mcmeta diff",
"versions.fixes": "Düzeltişmiş hatalar",
"versions.fixes.no_results": "Hata yok",
"versions.latest_release": "En sonki tam sürüm",
"versions.latest_snapshot": "En sonki snapshot",
"versions.minecraft_versions": "Minecraft Sürümleri",
"versions.next": "Sonraki",
"versions.no_results": "Sonuç yok",
"versions.pack_format": "Paket formatı",
"versions.previous": "Önceki",
"versions.protocol_version": "Protokol sürümü",
"versions.release_target": "Yayınlanma hedefi",
"versions.released": "Yayınlanmış",
"versions.resource_pack_format": "Kaynak paketi formatı",
"versions.search": "Sürümleri ara",
"weight": "Ağırlık",
"whats_new": "Ne yeni?",
"whats_new.description": "misode.github.io'daki en son gelişmelerden haberdar ol. En son eklenen özellikler için aşağıyı okuyun.",
"whats_new.new": "YENİ",
"wiki": "Wiki",
"worldgen": "Dünya Oluşumu (Worldgen)",
"y": "Y",
"z": "Z",
"zoom_in": "Yakınlaştır",
"zoom_in_limit": "Daha fazla yakınlaştırılamaz\n1 piksel = 4 blok",
"zoom_out": "Uzaklaştır",
"changelog.edit_on_github": "Teknik değişimleri github'da düzenle",
"add_key": "Anahtar ekle",
"convert.format.item-modifier": "Eşya düzenleyicisi",
"convert.format.recipe-output": "Tarif Ürünü",
"convert.select": "-- seç --",
"format.snbt": "SNBT",
"generator.cat_variant": "Kedi Türü",
"generator.ad_astra:planets": "Ad Astra Gezegeni",
"generator.banner_pattern": "Flama Deseni",
"generator.chicken_variant": "Tavuk Türü",
"generator.cow_variant": "İnek Türü",
"generator.create:recipes": "Create Tarifleri",
"generator.dialog": "Diyalog",
"generator.enchantment": "Büyüleme",
"generator.enchantment_provider": "Büyüleme Sağlayıcısı",
"generator.equipment": "Araç Gereç",
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"generator.fabric:dependency_overrides": "fabric_yükleyici_gereksinimleri.json",
"generator.frog_variant": "Kurbağa Türü",
"generator.immersive_weathering:block_growth": "Blok Büyümesi",
"generator.instrument": "Enstrüman",
"generator.item_definition": "Eşya",
"generator.jukebox_song": "Muzik Kutusu Şarkısı",
"generator.lang": "Dil",
"generator.loot-table-modifier:loot_modifier": "Ganimet Değiştiricisi",
"generator.texture_meta": "Doku Üstverisi (Metadata)",
"generator.neoforge:biome_modifier": "Biyom Değiştiricisi",
"generator.neoforge:data_map_acceptable_villager_distances": "Kabul Edilebilir Köylü Uzaklık Data Haritası",
"generator.neoforge:data_map_compostables": "Gübreleştirilebilirler Data Haritası",
"generator.neoforge:data_map_furnace_fuels": "Fırın Yakıtı Data haritası",
"generator.neoforge:data_map_monster_room_mobs": "Canavar Odası Mob Data Hartiası",
"generator.neoforge:data_map_oxidizables": "Paslanabilirler Data Haritası",
"generator.neoforge:data_map_parrot_imitations": "Papağan Taklit Data Haritası",
"generator.neoforge:data_map_raid_hero_gifts": "Baskın Kahramanı (Köyün kahramanı) Ödülleri Data Haritası",
"generator.neoforge:data_map_strippables": "Soyulabilirler Data Hartiası",
"generator.neoforge:data_map_vibration_frequencies": "Titreme Frekansı Data Haritası",
"generator.neoforge:data_map_villager_types": "Biyom Köylü Türleri Data Haritası",
"generator.neoforge:data_map_waxables": "Bal Mumuyla Cilalanabilirler Data Haritası",
"generator.neoforge:structure_modifier": "Yapı Değiştiricisi",
"generator.ohthetreesyoullgrow:configured_feature": "OTTYG Özelliği",
"generator.sky_aesthetics:sky": "Değiştirilebilir Gök Yüzü",
"generator.painting_variant": "Tablo Türü",
"generator.pig_variant": "Domuz Türü",
"generator.post_effect": "Efekt Sonrası",
"generator.tag/dialog": "Diyalog Etiketi",
"generator.tag/enchantment": "Büyüleme Etiketi",
"generator.tag/timeline": "Zaman Çizelgesi Etiketi",
"generator.tag/trade_set": "Takas Seti Etiketi",
"generator.tag/villager_trade": "Köylü Takası Etiketi",
"generator.tag/zombie_nautilus_variant": "Zombi Nautilus Türü Tagı",
"generator.test_instance": "Deneme Durumu",
"generator.test_environment": "Deneme Ortamı",
"generator.thermoo:environment_provider": "Ortam Sağlayıcısı",
"generator.thermoo:environment": "Ortam",
"generator.thermoo:temperature_effect": "Sıcaklık Efekti",
"generator.thermoo:predicate": "Thermoo Predicateları",
"generator.timeline": "Zaman Çizelgesi",
"generator.pixelmon:raid_ally_set": "Pixelmon Baskın Müttefiği Seti",
"generator.pixelmon:raid_spawn_set": "Pixelmon Baskın Spawn Seti",
"generator.pixelmon:spawn_replacement": "Pixelmon Spawn Yedeği",
"convert.format.loot-table": "Ganimet Tablosu",
"generator.pixelmon:type": "Pixelmon Türü",
"generator.pixelmon:growth": "Pixelmon Büyüme",
"generator.pixelmon:interaction_event": "Pixelmon Etkileşim Eventi",
"generator.pixelmon:research": "Pixelmon Araştırma",
"generator.pixelmon:research_trigger": "Pixelmon Araştırma Tetikleyicisi",
"generator.pixelmon:npc_preset": "Pixelmon NPC Ön Ayarı",
"generator.pixelmon:pokedex": "Lügat-ı Poke",
"generator.pixelmon:pokedex_trigger": "Lügat-ı Poke Tetikleyicisi",
"generator.pixelmon:pokedex_region": "Alan",
"generator.trade_set": "Takas Seti",
"generator.trial_spawner": "Yargı Spawnlayıcısı",
"generator.villager_trade": "Köylü Takası",
"generator.wolf_variant": "Kurt Türü",
"generator.wolf_sound_variant": "Kürt Ses Türü",
"generator.zombie_nautilus_variant": "Zombi Nautilus Türü",
"generators.partners": "Modlu Oluşturucuları",
"inline": "Inline",
"missing_key": "%0% Anahtarı Gerekiyor",
"partner.ad_astra": "Ad Astra",
"partner.create": "Create",
"partner.fabric": "Fabric",
"partner.lithostitched": "Lithostitched",
"partner.loot-table-modifier": "Ganimet Tablosu Değiştiricisi",
"partner.neoforge": "NeoForge",
"partner.obsidian": "Obsidian",
"partner.ohthetreesyoullgrow": "Oh The Trees You'll Grow",
"partner.sky_aesthetics": "Sky Aesthetics",
"partner.thermoo": "Thermoo",
"partner.pixelmon": "Pixelmon",
"versions.wiki": "Wiki",
"unset": "ayarlanmamış",
"title.convert": "Dönüştürücü",
"title.convert.formats": "%0% versiyonundan %1% versiyonuna Değiştirici",
"sort_alphabetically": "Alfabetik Sırala",
"root": "Kök",
"presets.no_results": "Ön Ayar Yok",
"presets.no_results_for_query": "Bu Sorgulama İçin Ön Ayar Yok",
"convert.format.give-command": "/give",
"convert.swap": "Değiştir"
}
+60 -8
View File
@@ -141,7 +141,7 @@
"no_presets": "无预设",
"not_found.description": "你所查找的页面不存在。",
"output_settings": "输出设置",
"partner.immersive_weathering": "沉浸式风化Immersive Weathering",
"partner.immersive_weathering": "沉浸式风化",
"presets": "预设",
"preview": "可视化",
"preview.auto_scroll": "自动滚动",
@@ -222,7 +222,7 @@
"title.guides": "数据包指南",
"title.home": "数据包生成器",
"title.new_project": "创建新的项目",
"title.partners": "第三方模组的生成器",
"title.partners": "模组扩展数据包生成器",
"title.project": "%0% 项目",
"title.sounds": "音效浏览器",
"title.versions": "版本浏览器",
@@ -260,7 +260,7 @@
"weight": "权重",
"convert.format.item-modifier": "物品修饰器",
"convert.swap": "交换",
"versions.fixes.no_results": "",
"versions.fixes.no_results": "无修复版",
"changelog.edit_on_github": "在 GitHub 上编辑技术性更改",
"preview.daytime": "游戏时间刻",
"whats_new.description": "关注 misode.github.io 上的所有最新开发进展。阅读下文了解最近添加了哪些功能。",
@@ -302,17 +302,17 @@
"generator.fabric:fabric_mod_json": "fabric.mod.json",
"convert.format.give-command": "/give",
"mode.3d": "3D",
"generator.create:recipes": "创建配方",
"generator.create:recipes": "机械动力配方",
"generator.dialog": "对话框",
"generator.texture_meta": "纹理元数据",
"generator.sky_aesthetics:sky": "自定义天空",
"generator.tag/dialog": "对话框标签",
"generator.wolf_sound_variant": "狼音效变种",
"inline": "内联",
"partner.create": "创建",
"partner.create": "机械动力",
"partner.fabric": "Fabric",
"partner.neoforge": "NeoForge",
"partner.obsidian": "黑曜石",
"partner.obsidian": "Obsidian模组",
"preview.height": "高度",
"generator.test_environment": "测试环境",
"generator.test_instance": "测试实例",
@@ -334,6 +334,58 @@
"generator.atlas": "图集",
"transformation.copy_decomposed": "复制分解格式",
"transformation.copy_composed": "复制矩阵格式",
"generator.neoforge:data_map_compostables": "可堆肥物品配置表",
"generator.neoforge:data_map_furnace_fuels": "熔炉燃料配置表"
"generator.neoforge:data_map_compostables": "可堆肥物品合成配方",
"generator.neoforge:data_map_furnace_fuels": "熔炉内的配方",
"generators.partners": "模组扩展数据包生成器",
"mode.side": "侧视图",
"mode.top": "俯视图",
"preview.final_density": "显示最终密度",
"zoom_in_limit": "无法进一步缩放\n1像素=4方块",
"whats_new.new": "新特性",
"generator.chicken_variant": "鸡变种",
"generator.fabric:dependency_overrides": "fabric_loader_dependencies.json",
"wiki": "Wiki",
"preview.luck": "幸运值",
"preview.min_y": "最小 Y 坐标",
"generator.thermoo:environment": "环境",
"generator.thermoo:environment_provider": "环境提供者",
"generator.ohthetreesyoullgrow:configured_feature": "OTTYG地物",
"generator.immersive_weathering:block_growth": "方块生长",
"generator.neoforge:data_map_monster_room_mobs": "刷怪笼怪物数据表",
"generator.neoforge:data_map_raid_hero_gifts": "村庄英雄奖励配置",
"generator.neoforge:data_map_vibration_frequencies": "振动频率数据(关于红石)",
"generator.neoforge:data_map_waxables": "可以上蜡的方块表",
"generator.neoforge:data_map_oxidizables": "可氧化方块数据表",
"generator.neoforge:data_map_parrot_imitations": "鹦鹉模仿怪物声音数据",
"contributor.infrastructure": "基础设施",
"cutoff": "截止时间",
"generator.thermoo:temperature_effect": "温度效果",
"generator.thermoo:predicate": "Thermoo谓词",
"partner.ohthetreesyoullgrow": "Oh The Trees You'll Grow",
"generator.ad_astra:planets": "Ad Astra 星球",
"generator.neoforge:data_map_acceptable_villager_distances": "村民探测距离数据映射表",
"generator.neoforge:data_map_villager_types": "村民群系类别数据映射表",
"generator.pixelmon:spawn_replacement": "像素宝可梦 生成取代规则",
"versions.diff": "mcmeta 差异",
"presets.no_results_for_query": "当前查询条件没有预设",
"partner.pixelmon": "像素宝可梦",
"partner.thermoo": "Thermoo",
"generator.pixelmon:pokedex_trigger": "图鉴触发器",
"generator.pixelmon:pokedex": "宝可梦图鉴",
"generator.pixelmon:npc_preset": "像素宝可梦NPC预设",
"generator.pixelmon:research_trigger": "像素宝可梦田野调查触发器",
"generator.pixelmon:research": "像素宝可梦田野调查",
"generator.pixelmon:interaction_event": "像素宝可梦交互事件",
"generator.pixelmon:growth": "像素宝可梦体型",
"generator.pixelmon:type": "像素宝可梦属性",
"partner.ad_astra": "Ad Astra模组",
"partner.lithostitched": "Lithostitched库模组",
"partner.sky_aesthetics": "Sky Aesthetics库模组",
"generator.tag/timeline": "时间线标签",
"generator.timeline": "时间线",
"generator.pixelmon:pokedex_region": "区域",
"generator.neoforge:data_map_strippables": "可去皮原木数据映射表",
"generator.tag/zombie_nautilus_variant": "僵尸鹦鹉螺标签",
"generator.zombie_nautilus_variant": "僵尸鹦鹉螺",
"version_diff.word_wrap": "自动换行"
}