diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index da59a15..fede765 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,11 @@ name: Java CI - Build Release on: - release: - types: [ published ] + push: + tags: + - 'v[0-9]+\.[0-9]+\.[0-9]+' + - 'v[0-9]+\.[0-9]+\.[0-9]+-[a-z]+' + - 'v[0-9]+\.[0-9]+\.[0-9]+-[a-z]+\.[0-9]+' jobs: build: diff --git a/CHANGELOG.md b/CHANGELOG.md index 64dbd26..956ecb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [21.0.1] + +### Added +* Added tr_tr translation (thanks @RuyaSavascisi) + +### Fixed +* Fixed an issue where editing an existing filter via GUI could lead to bad filter data being cached + ## [21.0.0] ### Changed diff --git a/build.gradle b/build.gradle index bf856fe..332b8dc 100644 --- a/build.gradle +++ b/build.gradle @@ -6,6 +6,8 @@ plugins { id "me.modmuss50.mod-publish-plugin" version "0.5.1" } +apply from: 'https://raw.githubusercontent.com/FTBTeam/mods-meta/main/gradle/changelog.gradle' + architectury { minecraft = rootProject.minecraft_version } @@ -108,7 +110,7 @@ subprojects { publishMods { dryRun = providers.environmentVariable("CURSEFORGE_KEY").getOrNull() == null - changelog = providers.environmentVariable("CHANGELOG").orElse("") + changelog = createChangelog(project) version = mod_version def tag = providers.environmentVariable("TAG").getOrElse("release") diff --git a/common/src/main/java/dev/ftb/mods/ftbfiltersystem/registry/item/SmartFilterItem.java b/common/src/main/java/dev/ftb/mods/ftbfiltersystem/registry/item/SmartFilterItem.java index 625a040..db2d214 100644 --- a/common/src/main/java/dev/ftb/mods/ftbfiltersystem/registry/item/SmartFilterItem.java +++ b/common/src/main/java/dev/ftb/mods/ftbfiltersystem/registry/item/SmartFilterItem.java @@ -34,7 +34,9 @@ public static String getFilterString(ItemStack filterStack) { @NotNull public static SmartFilter getFilter(ItemStack filterStack) throws FilterException { - return FilterParser.parse(getFilterString(filterStack)); + // don't pull from cache here; we could be editing this filter, + // and don't want to edit something in the cache already + return FilterParser.parseRaw(getFilterString(filterStack)); } public static void setFilter(ItemStack filterStack, String string) { diff --git a/common/src/main/java/dev/ftb/mods/ftbfiltersystem/util/FilterParser.java b/common/src/main/java/dev/ftb/mods/ftbfiltersystem/util/FilterParser.java index e3b3345..eb9271c 100644 --- a/common/src/main/java/dev/ftb/mods/ftbfiltersystem/util/FilterParser.java +++ b/common/src/main/java/dev/ftb/mods/ftbfiltersystem/util/FilterParser.java @@ -22,7 +22,7 @@ public static SmartFilter parse(String str) throws FilterException { } @NotNull - static SmartFilter parseRaw(String str) throws FilterException { + public static SmartFilter parseRaw(String str) throws FilterException { RootFilter root = new RootFilter(); root.getChildren().addAll(parseFilterList(root, str)); return root; diff --git a/common/src/main/resources/assets/ftbfiltersystem/lang/tr_tr.json b/common/src/main/resources/assets/ftbfiltersystem/lang/tr_tr.json new file mode 100644 index 0000000..64a44a5 --- /dev/null +++ b/common/src/main/resources/assets/ftbfiltersystem/lang/tr_tr.json @@ -0,0 +1,67 @@ +{ + "ftbfiltersystem": "FTB Filter System", + "item.ftbfiltersystem.smart_filter": "Akıllı Filtre", + "item.ftbfiltersystem.smart_filter.tooltip.1": "Sağ-tık: filtreyi yapılandır", + "item.ftbfiltersystem.smart_filter.tooltip.2": "Eğil + Sağ-tık: Boştaki elinizdeki eşyayla filtreyi test edin", + "ftbfiltersystem.message.parse_failed": "Filtre ayrıştırma sorunu: %s", + "ftbfiltersystem.message.not_a_filter": "Ana elinizde bir Akıllı Filtre tutmalısınız", + "ftbfiltersystem.message.not_configured": "Bu Akıllı Filtre'nin yapılandırılmış filtresi yoktur", + "ftbfiltersystem.message.no_offhand_item": "Test edilecek eşyayı boştaki elinizde tutun", + "ftbfiltersystem.message.matched": "Filtre eşleşiyor: %s", + "ftbfiltersystem.message.not_matched": "Filtre eşleşmiyor: %s", + "ftbfiltersystem.message.changes_saved": "Filtre güncellendi!", + "ftbfiltersystem.message.cache_cleared": "Derlenmiş filtre önbelleği temizlendi", + "ftbfiltersystem.message.components_header": "%s data component(s) on %s:", + "ftbfiltersystem.message.components_header_none": "Veri bileşeni yok", + "ftbfiltersystem.message.non_default_components": "Yalnızca varsayılan olmayan bileşenleri göster", + "ftbfiltersystem.gui.add": "Ekle...", + "ftbfiltersystem.gui.delete": "Sil", + "ftbfiltersystem.gui.configure": "Yapılandır...", + "ftbfiltersystem.gui.percentage": "Yüzde", + "ftbfiltersystem.gui.item_source.creative": "Yaratıcı Mod", + "ftbfiltersystem.gui.item_source.inventory": "Env", + "ftbfiltersystem.gui.item_source.mod": "Mod", + "ftbfiltersystem.gui.nbt_ok": "SNBT Ayrıştırıldı OK", + "ftbfiltersystem.gui.nbt_bad": "SNBT Ayrıştırma Başarısız!", + "ftbfiltersystem.gui.filter_ok": "Filtre Ayrıştırıldı OK", + "ftbfiltersystem.gui.filter_bad": "Filtre Ayrıştırma Başarısız!", + "ftbfiltersystem.gui.custom_id": "Özel Olay ID'si:", + "ftbfiltersystem.gui.custom_data": "Ekstra Özel Veri:", + "ftbfiltersystem.gui.changes_made": "Bu filtrede değişiklik yaptınız", + "ftbfiltersystem.gui.changes_made.question": "Düzenleyiciyi kaydetmeden kapatmak istediğinize emin misiniz?", + "ftbfiltersystem.gui.compound": "Bileşik Filtreler", + "ftbfiltersystem.gui.basic": "Temel Filtreler", + "ftbfiltersystem.gui.fuzzy_match": "Bulanık Bileşen Eşleşmesi?", + "ftbfiltersystem.gui.custom_name": "Özel İsim", + "filter.ftbfiltersystem.and.name": "Tümü", + "filter.ftbfiltersystem.and.tooltip": "Bileşik filtre: bu filtre, TÜM alt filtreleri eşleşiyorsa eşleşir.", + "filter.ftbfiltersystem.or.name": "Herhangi biri", + "filter.ftbfiltersystem.or.tooltip": "Bileşik filtre: bu filtre, alt filtrelerinden HERHANGİ BİRİ eşleşirse eşleşir.", + "filter.ftbfiltersystem.not.name": "Değil", + "filter.ftbfiltersystem.not.tooltip": "Bileşik filtre: bu filtre, alt filtresi eşleşmiyorsa eşleşir. En fazla bir alt filtre eklenebilir.", + "filter.ftbfiltersystem.only_one.name": "Sadece Biri", + "filter.ftbfiltersystem.only_one.tooltip": "Bileşik filtre: bu filtre, alt filtrelerinden tam olarak BİRİ eşleşiyorsa eşleşir.", + "filter.ftbfiltersystem.block.name": "Blok", + "filter.ftbfiltersystem.block.tooltip": "Eşyanın yerleştirilebilir bir blok olup olmadığıyla eşleşen basit filtre.", + "filter.ftbfiltersystem.component.name": "Eşya Bileşeni", + "filter.ftbfiltersystem.component.tooltip": "Bir eşyadaki eşya veri bileşenlerini eşleştirir.\nTam (tüm bileşenler eşleşmelidir) ve bulanık eşleşmeleri destekler (yalnızca filtredeki bileşenlerle eşleşir).\nYönetici izinleriniz varsa, envanterinizdeki (varsayılan olmayan) bileşen verilerine sahip eşyalara tıklayarak mevcut verilerini metin düzenleyicisine kopyalayabilir ve SNBT olarak serileştirebilirsiniz.", + "filter.ftbfiltersystem.durability.name": "Dayanıklılık", + "filter.ftbfiltersystem.durability.tooltip": "Bir eşyayı kalan dayanıklılığına göre eşleştirir.\nHasar görmeyen eşyaların dayanıklılığı 0 olarak kabul edilir.", + "filter.ftbfiltersystem.food_value.name": "Yiyecek Değeri", + "filter.ftbfiltersystem.food_value.tooltip": "Bir eşyayı besin değerine göre eşleştirir (half-shanks of food restored)\nGıda dışı eşyaların besin değeri 0'dır", + "filter.ftbfiltersystem.item.name": "Eşya", + "filter.ftbfiltersystem.item.tooltip": "Belirli bir eşyayla eşleşir.\nEşya bileşeni verileri burada kontrol edilmez (bkz. Bileşen Filtresi)\nEşyalar Yaratıcı Mod veya Envanter eşya listelerinden seçilebilir.\nGörüntülenen eşyaları sınırlandırmak amacıyla eşya ID'lerini filtrelemek için metin alanını kullanın.", + "filter.ftbfiltersystem.item_tag.name": "Eşya Etiketi", + "filter.ftbfiltersystem.item_tag.tooltip": "Bir eşya etiketiyle eşleştirir; etikette bulunan eşyalar eşleştirilir.\nGörüntülenen eşya etiketlerini filtrelemek için metin alanını kullanın.", + "filter.ftbfiltersystem.stack_size.name": "İstif Boyutu", + "filter.ftbfiltersystem.stack_size.tooltip": "Bir eşyanın geçerli istif boyutuyla eşleşir.", + "filter.ftbfiltersystem.max_stack_size.name": "Maks İstif Boyutu", + "filter.ftbfiltersystem.max_stack_size.tooltip": "Bir eşyanın maksimum istif boyutuyla eşleşir.\nİstiflenemeyen eşyaların maksimum istif boyutu 1'dir.", + "filter.ftbfiltersystem.mod.name": "Mod", + "filter.ftbfiltersystem.mod.tooltip": "Eşyayı ekleyen mod ile eşleşir.\nVanilla eşyaları Minecraft 'mod'unda.", + "filter.ftbfiltersystem.custom.name": "Özel", + "filter.ftbfiltersystem.custom.tooltip": "Mod yapımcıları ve mod paketi üreticileri için tasarlanmış gelişmiş filtre.\nBir eşleşme denendiğinde bir CustomFilterEvent ateşler; olay sonucunu başarılı veya başarısız bir eşleşmeyi belirtecek şekilde ayarlayın.\nOlaya 'data' parametresi olarak aktarılan serbest biçimli metin verilerini sağlamak için metin alanını kullanın.", + "filter.ftbfiltersystem.expression.name": "İfade", + "filter.ftbfiltersystem.expression.tooltip": "Envanterinizdeki bir Filtre eşyasından gerçek bir filtre ifadesinin girilmesine veya yüklenmesine izin verir.\nNetlik sağlamak için özel bir ad atamak isteğe bağlıdır (ancak önerilir!).", + "filter.ftbfiltersystem.root.name": "Kök (Tümünün)" +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 01fd3a0..e43ba92 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ archives_base_name=ftb-filter-system readable_name=FTB Filter System maven_group=dev.ftb.mods -mod_version=21.0.0 +mod_version=21.0.1 minecraft_version=1.21 architectury_version=13.0.6