34 Commits

Author SHA1 Message Date
Misode
361921cf34 Add 26.2
Some checks failed
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
Some checks failed
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
Some checks failed
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)
Some checks failed
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)
Some checks failed
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)
Some checks failed
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)
Some checks failed
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
Some checks failed
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)
Some checks failed
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)
Some checks failed
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)
Some checks failed
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
Some checks failed
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)
Some checks failed
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
Some checks failed
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)
Some checks failed
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)
Some checks failed
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)
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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)
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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))
Some checks failed
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)
Some checks failed
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
31 changed files with 1547 additions and 951 deletions

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.9',
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',

998
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -16,20 +16,20 @@
"license": "MIT",
"dependencies": {
"@giscus/react": "^2.2.3",
"@spyglassmc/core": "^0.4.39",
"@spyglassmc/java-edition": "^0.3.51",
"@spyglassmc/json": "^0.3.43",
"@spyglassmc/locales": "^0.3.19",
"@spyglassmc/mcdoc": "^0.3.43",
"@spyglassmc/nbt": "^0.3.45",
"@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",

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>],
}

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

View File

@@ -142,8 +142,6 @@ const SPECIAL_UNSET = '__unset__'
function StringHead({ type, optional, excludeStrings, node, ctx }: Props<StringType>) {
const { locale } = useLocale()
const { version } = useVersion()
const use1204 = !checkVersion(version, '1.20.5')
const nodeValue = (JsonStringNode.is(node) ? node.value : undefined)?.replaceAll('\n', '\\n')
const [value, setValue] = useState(nodeValue)
@@ -207,11 +205,7 @@ function StringHead({ type, optional, excludeStrings, node, ctx }: Props<StringT
}, [onChangeValue])
return <>
{((idRegistry === 'item' || idRegistry === 'block') && idTags !== 'implicit' && value && !value.startsWith('#')) && <label>
{use1204
? <ItemDisplay1204 item={new ItemStack1204(Identifier1204.parse(value), 1)} />
: <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>}
@@ -234,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()
@@ -417,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())
}

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
}
}

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

View File

@@ -49,6 +49,35 @@ export function placeItems(version: VersionId, recipe: any, animation: number, i
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) {

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>
}

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>
}

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
@@ -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
}

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'

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()

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
}

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'
@@ -309,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,

View File

@@ -420,20 +420,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 +434,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 }
}

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', '1.21.9', '1.21.11'] 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.9'
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)

View File

@@ -1,4 +1,3 @@
export * from './Article.js'
export * from './DataFetcher.js'
export * from './Sharing.js'
export * from './Source.js'

View File

@@ -205,9 +205,23 @@
},
{
"id": "1.21.11",
"dynamic": true,
"ref": "1.21.11",
"name": "1.21.11",
"pack_format": 90,
"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": "26.2",
"pack_format": 102,
"show": true
}
],
@@ -231,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",
@@ -264,7 +278,7 @@
"id": "banner_pattern",
"url": "banner-pattern",
"minVersion": "1.20.5",
"wiki": "https://minecraft.wiki/w/Banner/Patterns#JSON_Format"
"wiki": "https://minecraft.wiki/w/Banner_pattern_definition"
},
{
"id": "wolf_variant",
@@ -281,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",
@@ -293,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",
@@ -372,23 +386,35 @@
"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",
@@ -402,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",
@@ -444,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",
@@ -458,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",
@@ -494,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",
@@ -668,6 +694,22 @@
"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",
"url": "assets/blockstate",
@@ -705,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",
@@ -720,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",
@@ -728,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",
@@ -914,6 +956,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",

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",
@@ -371,5 +371,21 @@
"generator.pixelmon:pokedex_region": "Region",
"partner.create": "Erstellen",
"partner.thermoo": "Thermoo",
"partner.pixelmon": "Pixelmon"
"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"
}

View File

@@ -92,6 +92,7 @@
"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",
@@ -131,6 +132,8 @@
"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",
@@ -157,9 +160,11 @@
"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",
@@ -225,6 +230,7 @@
"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",
@@ -356,7 +362,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",

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"
}

View File

@@ -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 des épreuves",
"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",
@@ -362,12 +362,26 @@
"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: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.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"
}

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% へ変換",
@@ -339,5 +339,38 @@
"generator.tag/instrument": "楽器タグ (#Instrument)",
"generator.tag/worldgen/structure": "構造物タグ (#Structure)",
"generator.tag/worldgen/structure_set": "構造物セット (#Structure Set)",
"generator.chicken_variant": "ニワトリの亜種 (Chicken Variant)"
"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)"
}

View File

@@ -39,7 +39,7 @@
"generator.block_definition": "블록 상태",
"generator.chat_type": "채팅 타입",
"generator.dimension": "차원",
"generator.dimension_type": "차원 종류",
"generator.dimension_type": "차원 타입",
"generator.immersive_weathering.block_growth": "블럭 성장",
"generator.item_modifier": "아이템 모디파이어",
"generator.loot_table": "루트 테이블",
@@ -219,7 +219,7 @@
"generators.popular": "인기 생성기",
"title.transformation": "변형 시각화",
"tools": "도구",
"generator.damage_type": "데미지 종류",
"generator.damage_type": "데미지 타입",
"generator.dialog": "다이얼로그",
"generator.enchantment_provider": "마법 부어 공급자",
"transformation.translation": "번역",
@@ -271,5 +271,19 @@
"wiki": "위키",
"y": "Y",
"z": "Z",
"zoom_in_limit": "더 이상 확대할 수 없습니다.\n1픽셀 = 4블록"
"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": "아이템"
}

View File

@@ -274,5 +274,14 @@
"sounds.loading_sound": "Carregando sons",
"sounds.volume": "Volume",
"switch_version": "Mudar versão",
"cutoff": "Limite"
"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"
}

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%",
@@ -385,5 +385,16 @@
"generator.pixelmon:pokedex": "Покедекс",
"generator.pixelmon:pokedex_trigger": "Триггер Покедекса",
"partner.ad_astra": "Ad Astra (К Звёздам!)",
"partner.pixelmon": "Pixelmon"
"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": "Набор Торговли"
}

View File

@@ -135,5 +135,26 @@
"generator.lang": "Jazyk",
"generator.model": "Model",
"generator.texture_meta": "Metadáta textúr",
"generator.neoforge:biome_modifier": "Modifikátor biómov"
"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%"
}

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"
}

View File

@@ -312,7 +312,7 @@
"partner.create": "机械动力",
"partner.fabric": "Fabric",
"partner.neoforge": "NeoForge",
"partner.obsidian": "",
"partner.obsidian": "Obsidian模组",
"preview.height": "高度",
"generator.test_environment": "测试环境",
"generator.test_instance": "测试实例",
@@ -378,10 +378,14 @@
"generator.pixelmon:interaction_event": "像素宝可梦交互事件",
"generator.pixelmon:growth": "像素宝可梦体型",
"generator.pixelmon:type": "像素宝可梦属性",
"partner.ad_astra": "Ad Astra",
"partner.lithostitched": "Lithostitched",
"partner.sky_aesthetics": "Sky Aesthetics",
"partner.ad_astra": "Ad Astra模组",
"partner.lithostitched": "Lithostitched库模组",
"partner.sky_aesthetics": "Sky Aesthetics库模组",
"generator.tag/timeline": "时间线标签",
"generator.timeline": "时间线",
"generator.pixelmon:pokedex_region": "区域"
"generator.pixelmon:pokedex_region": "区域",
"generator.neoforge:data_map_strippables": "可去皮原木数据映射表",
"generator.tag/zombie_nautilus_variant": "僵尸鹦鹉螺标签",
"generator.zombie_nautilus_variant": "僵尸鹦鹉螺",
"version_diff.word_wrap": "自动换行"
}