diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36f2cfd..ecb3204 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,9 +20,10 @@ jobs: restore-keys: "${{ runner.os }}-gradle-" - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: gradle-home-cache-cleanup: true + cache-read-only: ${{ !endsWith(github.ref_name, '/dev') }} - name: Validate Gradle Wrapper Integrity uses: gradle/wrapper-validation-action@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c008b2..a9b3fcd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: restore-keys: "${{ runner.os }}-gradle-" - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: gradle-home-cache-cleanup: true cache-read-only: true @@ -40,6 +40,7 @@ jobs: - name: Build & Publish env: RELEASE_BUILD: true + PLATFORM: ${{ inputs.platform }} MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} MAVEN_TOKEN: ${{ secrets.MAVEN_TOKEN }} diff --git a/build.gradle.kts b/build.gradle.kts index a6edf46..b6f4a27 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -92,8 +92,8 @@ subprojects { maven("https://maven.shedaniel.me/") // Cloth Config, REI maven("https://maven.blamejared.com/") // JEI, Carry On maven("https://maven.parchmentmc.org") // Parchment mappings - maven("https://maven.ithundxr.dev/releases") // Steam 'n' Rails Releases - maven("https://maven.ithundxr.dev/snapshots") // Steam 'n' Rails Snapshots + maven("https://mvn.devos.one/snapshots/") // Create Fabric, Porting Lib, Forge Tags, Milk Lib, Registrate Fabric, Steam 'n' Rails + maven("https://mvn.devos.one/releases") // Porting Lib Releases, Steam 'n' Rails Releases maven("https://maven.tterrag.com/") { // Flywheel content { // need to be specific here due to version overlaps @@ -124,9 +124,9 @@ subprojects { val maven = if (isRelease) "releases" else "snapshots" if (mavenToken != null && mavenToken.isNotEmpty()) { maven { - url = uri("https://maven.ithundxr.dev/${maven}") + url = uri("https://mvn.devos.one/${maven}") credentials { - username = "numismatics-github" + username = "ithundxr-github" password = mavenToken } } diff --git a/changelog.md b/changelog.md index bade075..b408cb2 100644 --- a/changelog.md +++ b/changelog.md @@ -25,7 +25,17 @@ Changes Backwards compatible with existing vendors, so the items will remain 'real' until you remove them. Additionally, enchantments and dyes can be applied to some items by shift-dragging items when using EMI on fabric or JEI on forge - OP'ed players no longer automatically have access to all Numismatics blocks. Instead, they can use the command `/numismatics toggle_admin_mode` to toggle that ability -- Update to Create 0.5.1-h +- Update to Create 0.5.1-j +------------------------------------------------------ +Numismatics 1.0.8 +------------------------------------------------------ +Fixes +- Update to Create Fabric 0.5.1-j +------------------------------------------------------ +Numismatics 1.0.7 +------------------------------------------------------ +Fixes +- Double items being given when clicking a vendor with the offhand ------------------------------------------------------ Numismatics 1.0.6 ------------------------------------------------------ diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 5e00f8f..71a4191 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -34,8 +34,6 @@ repositories { // mavens for Create Fabric and dependencies maven("https://api.modrinth.com/maven") // LazyDFU maven("https://maven.terraformersmc.com/releases/") // Mod Menu - maven("https://mvn.devos.one/snapshots/") // Create Fabric, Porting Lib, Forge Tags, Milk Lib, Registrate Fabric - maven("https://mvn.devos.one/releases") // Porting Lib Releases maven("https://raw.githubusercontent.com/Fuzss/modresources/main/maven/") // Forge config api port maven("https://maven.cafeteria.dev/releases") // Fake Player API maven("https://maven.jamieswhiteshirt.com/libs-release") // Reach Entity Attributes diff --git a/common/src/main/java/dev/ithundxr/createnumismatics/Numismatics.java b/common/src/main/java/dev/ithundxr/createnumismatics/Numismatics.java index 6181417..d26cc62 100644 --- a/common/src/main/java/dev/ithundxr/createnumismatics/Numismatics.java +++ b/common/src/main/java/dev/ithundxr/createnumismatics/Numismatics.java @@ -39,7 +39,6 @@ import dev.ithundxr.createnumismatics.registry.NumismaticsCreativeModeTabs.Tabs; import dev.ithundxr.createnumismatics.registry.NumismaticsPackets; import dev.ithundxr.createnumismatics.util.MethodVarHandleUtils; -import dev.ithundxr.createnumismatics.util.NumismaticsUpdateCheck; import dev.ithundxr.createnumismatics.util.Utils; import net.minecraft.SharedConstants; import net.minecraft.Util; @@ -68,7 +67,6 @@ public class Numismatics { public static void init() { String createVersion = MethodVarHandleUtils.getStaticField(Create.class, "VERSION", String.class, "UNKNOWN"); LOGGER.info("{} v{} initializing! Commit hash: {} Create version: {} on platform: {}", NAME, NumismaticsBuildInfo.VERSION, NumismaticsBuildInfo.GIT_COMMIT, createVersion, Loader.getFormatted()); - NumismaticsUpdateCheck.execute(); ModSetup.register(); finalizeRegistrate(); diff --git a/common/src/main/java/dev/ithundxr/createnumismatics/events/CommonEvents.java b/common/src/main/java/dev/ithundxr/createnumismatics/events/CommonEvents.java index 5933608..bdb16a2 100644 --- a/common/src/main/java/dev/ithundxr/createnumismatics/events/CommonEvents.java +++ b/common/src/main/java/dev/ithundxr/createnumismatics/events/CommonEvents.java @@ -90,4 +90,20 @@ public static void onPlayerJoin(ServerPlayer player) { } } } + + @MultiLoaderEvent + public static InteractionResult onUseBlock(Player player, Level level, InteractionHand hand, BlockHitResult hitResult) { + BlockPos pos = hitResult.getBlockPos(); + BlockState state = level.getBlockState(pos); + + boolean offhandFix = !level.isClientSide() + && !player.getOffhandItem().isEmpty() + && !(player.getOffhandItem().getItem() instanceof BlockItem) && + hand.equals(InteractionHand.MAIN_HAND); + if ((offhandFix || player.isShiftKeyDown()) && state.getBlock() instanceof VendorBlock vb) { + return vb.use(state, level, pos, player, hand, hitResult); + } + + return InteractionResult.PASS; + } } diff --git a/common/src/main/java/dev/ithundxr/createnumismatics/registry/NumismaticsBlockEntities.java b/common/src/main/java/dev/ithundxr/createnumismatics/registry/NumismaticsBlockEntities.java index d0464c2..054beb5 100644 --- a/common/src/main/java/dev/ithundxr/createnumismatics/registry/NumismaticsBlockEntities.java +++ b/common/src/main/java/dev/ithundxr/createnumismatics/registry/NumismaticsBlockEntities.java @@ -32,6 +32,11 @@ public class NumismaticsBlockEntities { private static final CreateRegistrate REGISTRATE = Numismatics.registrate(); +/* public static final BlockEntityEntry SEMAPHORE = REGISTRATE.blockEntity("semaphore", SemaphoreBlockEntity::new) + .validBlocks(CRBlocks.SEMAPHORE) + .renderer(() -> SemaphoreRenderer::new) + .register();*/ + public static final BlockEntityEntry ANDESITE_DEPOSITOR = REGISTRATE.blockEntity("andesite_depositor", AndesiteDepositorBlockEntity::new) .validBlocks(NumismaticsBlocks.ANDESITE_DEPOSITOR) .register(); diff --git a/common/src/main/java/dev/ithundxr/createnumismatics/util/NumismaticsUpdateCheck.java b/common/src/main/java/dev/ithundxr/createnumismatics/util/NumismaticsUpdateCheck.java deleted file mode 100644 index 75bd821..0000000 --- a/common/src/main/java/dev/ithundxr/createnumismatics/util/NumismaticsUpdateCheck.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Numismatics - * Copyright (c) 2024 The Railways Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -package dev.ithundxr.createnumismatics.util; - -import dev.ithundxr.createnumismatics.Numismatics; -import dev.ithundxr.createnumismatics.NumismaticsBuildInfo; -import dev.ithundxr.createnumismatics.multiloader.Loader; -import net.minecraft.SharedConstants; -import net.minecraft.Util; - -import java.io.IOException; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import java.time.Duration; - -public class NumismaticsUpdateCheck { - public static void execute() { - // TODO switch to nonCriticalIoPool() in 1.21.1 - Util.ioPool().submit(() -> { - String uri = String.format( - "https://update.api.ithundxr.dev/update-check?mod_id=%s&mod_version=%s&mc_version=%s&loader=%s&dev=%s", - Numismatics.MOD_ID, - NumismaticsBuildInfo.VERSION, - SharedConstants.getCurrentVersion().getName(), - Loader.getActual(), - Utils.isDevEnv() - ); - - HttpRequest request = HttpRequest.newBuilder() - .GET() - .uri(URI.create(uri)) - .build(); - - try { - HttpClient.newBuilder() - .connectTimeout(Duration.ofSeconds(10L)) - .followRedirects(HttpClient.Redirect.ALWAYS) - .build() - .send(request, HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)); - } catch (IOException | InterruptedException ignored) {} - }); - } -} diff --git a/common/src/main/resources/assets/numismatics/lang/ru_ru.json b/common/src/main/resources/assets/numismatics/lang/ru_ru.json index 1d811e6..6ba6ade 100644 --- a/common/src/main/resources/assets/numismatics/lang/ru_ru.json +++ b/common/src/main/resources/assets/numismatics/lang/ru_ru.json @@ -24,6 +24,13 @@ "block.numismatics.creative_vendor": "Творческий торговый автомат", "block.numismatics.creative_vendor.tooltip": "ТВОРЧЕСКИЙ ТОРГОВЫЙ АВТОМАТ", "block.numismatics.creative_vendor.tooltip.summary": "_Творческая_ версия торгового автомата, после настройки никогда не переполнится, а товар не закончится.", + "block.numismatics.salepoint": "Точка розлива", + "block.numismatics.salepoint.tooltip.clear": "Выбор интерфейса сброшен", + "block.numismatics.salepoint.tooltip.missing": "Сначала ПКМ выберите целевой интерфейс", + "block.numismatics.salepoint.tooltip.not_found": "Целевой интерфейс не найден", + "block.numismatics.salepoint.tooltip.set": "Интерфейс выбран", + "block.numismatics.salepoint.tooltip.success": "Успешно привязана к интерфейсу", + "block.numismatics.salepoint.tooltip.too_far": "Целевой интерфейс слишком далеко", "block.numismatics.trusted_block.attempt_break": "Зажмите Shift, чтобы разрушить блок", "block.numismatics.vendor": "Торговый автомат", "block.numismatics.vendor.tooltip": "ТОРГОВЫЙ АВТОМАТ", @@ -56,6 +63,22 @@ "gui.numismatics.limit": "Потрачено %s из %s", "gui.numismatics.limit.monetary": "Потрачено %s %s, %s¤ из %s %s, %s¤", "gui.numismatics.limit.none": "Нет лимита", + "gui.numismatics.salepoint.cancel": "Отменить транзакцию", + "gui.numismatics.salepoint.count": "Единиц", + "gui.numismatics.salepoint.energy": "Энергия", + "gui.numismatics.salepoint.fluid_empty": "Пусто", + "gui.numismatics.salepoint.fluid_filter_empty.0": "Жидкость", + "gui.numismatics.salepoint.fluid_filter_empty.1": "Клик предметом, содержащим жидкость, вроде ведра или бутылочки", + "gui.numismatics.salepoint.go": "Начать транзакцию", + "gui.numismatics.salepoint.insufficient_space": "Цель переполнена или не присоединена", + "gui.numismatics.salepoint.invalid_state": "Некорректное состояние", + "gui.numismatics.salepoint.no_card": "Нет карты", + "gui.numismatics.salepoint.no_filter": "Нет фильтра", + "gui.numismatics.salepoint.no_state": "Не настроено", + "gui.numismatics.salepoint.no_target": "Цель не обнаружена", + "gui.numismatics.salepoint.price": "Цена/Ед: %s %s, %s¤", + "gui.numismatics.salepoint.target_failed_purchase": "Цель неспособна совершить покупку", + "gui.numismatics.salepoint.target_not_controlled": "Цель не контролируется точкой розлива", "gui.numismatics.trust_list": "Список доверенных", "gui.numismatics.vendor.count": " (%sx)", "gui.numismatics.vendor.full": "Торговый автомат переполнен", diff --git a/common/src/main/resources/assets/numismatics/lang/uk_ua.json b/common/src/main/resources/assets/numismatics/lang/uk_ua.json index b30f1c9..271c925 100644 --- a/common/src/main/resources/assets/numismatics/lang/uk_ua.json +++ b/common/src/main/resources/assets/numismatics/lang/uk_ua.json @@ -7,23 +7,30 @@ "advancement.numismatics.questionable_investment.desc": "Купіть монетку дорожче за її номінал\n§7(Приховане досягнення)", "advancement.numismatics.root": "Вітаємо в Монетознавстві", "advancement.numismatics.root.desc": "Тут буде багатство", - "block.numismatics.andesite_depositor": "Андезитовий укладник", - "block.numismatics.andesite_depositor.tooltip": "АНДЕЗИТОВИЙ УКЛАДНИК", + "block.numismatics.andesite_depositor": "Андезитовий вкладник", + "block.numismatics.andesite_depositor.tooltip": "АНДЕЗИТОВИЙ ВКЛАДНИК", "block.numismatics.andesite_depositor.tooltip.price": "Ціна: %s %s (%s¤)", - "block.numismatics.andesite_depositor.tooltip.summary": "ПКМ + Shift, щоби налаштувати, ПКМ, щоб укласти вказану суму або карткою, або монетами в руці, після чого видається редстоун сигнал.", + "block.numismatics.andesite_depositor.tooltip.summary": "ПКМ + Shift, щоби налаштувати. ПКМ, щоби сплатити вказану суму карткою або монетами в руці, після чого видається редстоун сигнал.", "block.numismatics.bank_terminal": "Банківський термінал", "block.numismatics.bank_terminal.tooltip": "БАНКІВСЬКИЙ ТЕРМІНАЛ", "block.numismatics.bank_terminal.tooltip.summary": "Дозволяє отримати доступ до власного банківського рахунку або до будь-якого рахунка, якому ви _довірені_.", "block.numismatics.blaze_banker": "Банківський пломінь", "block.numismatics.blaze_banker.tooltip": "БАНКІВСЬКИЙ ПЛОМІНЬ", "block.numismatics.blaze_banker.tooltip.summary": "Створює банківський рахунок на ім’я банкіра, корисно для спільного використання рахунку кількома людьми. Ви можете призначити _банківську картку_ банкіру, помістивши її у відповідний слот.", - "block.numismatics.brass_depositor": "Латунний укладник", - "block.numismatics.brass_depositor.tooltip": "ЛАТУННИЙ УКЛАДНИК", + "block.numismatics.brass_depositor": "Латунний вкладник", + "block.numismatics.brass_depositor.tooltip": "ЛАТУННИЙ ВКЛАДНИК", "block.numismatics.brass_depositor.tooltip.price": "Ціна: %s %s, %s¤", - "block.numismatics.brass_depositor.tooltip.summary": "ПКМ + Shift, щоби налаштувати, ПКМ, щоб укласти вказану суму або карткою, або монетами в руці, після чого видається редстоун сигнал.", + "block.numismatics.brass_depositor.tooltip.summary": "ПКМ + Shift, щоби налаштувати. ПКМ, щоби сплатити вказану суму карткою або монетами в руці, після чого видається редстоун сигнал.", "block.numismatics.creative_vendor": "Творча крамниця", "block.numismatics.creative_vendor.tooltip": "ТВОРЧА КРАМНИЦЯ", "block.numismatics.creative_vendor.tooltip.summary": "Працює як звичайна крамниця, але предмети _ніколи не закінчуються_.", + "block.numismatics.salepoint": "Торгівельна точка", + "block.numismatics.salepoint.tooltip.clear": "Скинуто вибір інтерфейсу", + "block.numismatics.salepoint.tooltip.missing": "Спершу натисніть ПКМ по цільовому інтерфейсу", + "block.numismatics.salepoint.tooltip.not_found": "Цільовий інтерфейс не знайдено", + "block.numismatics.salepoint.tooltip.set": "Інтерфейс обрано", + "block.numismatics.salepoint.tooltip.success": "Успішно прив'язано до цільового інтерфейсу", + "block.numismatics.salepoint.tooltip.too_far": "Цільовий інтерфейс занадто далеко", "block.numismatics.trusted_block.attempt_break": "Утримуйте Shift, щоби зламати блок", "block.numismatics.vendor": "Крамниця", "block.numismatics.vendor.tooltip": "Крамниця", @@ -33,10 +40,50 @@ "block.numismatics.vendor.tooltip.summary": "Дозволяє торгувати предметами через створені гравцем крамниці. Клацніть ПКМ, щоби торгувати, або ПКМ + Shift, щоби налаштувати її.", "block.numismatics.vendor.tooltip.trade_item": "Предмет на продаж", "command.numismatics.arguments.enum.invalid": "Помилка: недійсне значення %s. Дійсні значення: %s", + "error.numismatics.authorized_card.account_not_found": "Субрахунки не знайдено", + "error.numismatics.authorized_card.limit_reached": "Досягнуто ліміту витрат", + "error.numismatics.card.account_not_found": "Обліковий запис не знайдено", + "error.numismatics.card.not_authorized": "Не авторизовано", + "error.numismatics.card.not_bound": "Картку не прив'язано", "gui.numismatics.bank_terminal.balance": "Рахунок: %s %s, %s¤", + "gui.numismatics.bank_terminal.sub_accounts": "Субрахунки", + "gui.numismatics.bank_terminal.sub_accounts.authorization_type": "Тип авторизації", + "gui.numismatics.bank_terminal.sub_accounts.edit": "Редагувати субрахунок", + "gui.numismatics.bank_terminal.sub_accounts.help": "Немає субрахунків", + "gui.numismatics.bank_terminal.sub_accounts.help.line.1": "Уведіть ім'я та натисніть \"додати\"", + "gui.numismatics.bank_terminal.sub_accounts.help.line.2": "кнопка для створення нового субрахунку.", + "gui.numismatics.bank_terminal.sub_accounts.help.line.3": "Субрахунки можна використовувати для надання", + "gui.numismatics.bank_terminal.sub_accounts.help.line.4": "обмеженого доступу для обраних гравців чи", + "gui.numismatics.bank_terminal.sub_accounts.help.line.5": "безпечних автоматизованих транзакцій.", + "gui.numismatics.bank_terminal.sub_accounts.name_box": "Ім'я", + "gui.numismatics.bank_terminal.sub_accounts.named": "%s: субрахунки", + "gui.numismatics.bank_terminal.sub_accounts.remove": "Видалити субрахунки", + "gui.numismatics.bank_terminal.sub_accounts.remove.confirm": "Ви впевнені? Натисніть іще раз для підтвердження", + "gui.numismatics.bank_terminal.sub_accounts.reset_spending": "Скинути Витрати", + "gui.numismatics.limit": "Витрачено %s з %s", + "gui.numismatics.limit.monetary": "Витрачено %s %s, %s¤ з %s %s, %s¤", + "gui.numismatics.limit.none": "Без обмежень", + "gui.numismatics.salepoint.cancel": "Скасувати транзакцію", + "gui.numismatics.salepoint.count": "Одиниць", + "gui.numismatics.salepoint.energy": "Енергія", + "gui.numismatics.salepoint.fluid_empty": "Порожньо", + "gui.numismatics.salepoint.fluid_filter_empty.0": "Рідинний фільтр", + "gui.numismatics.salepoint.fluid_filter_empty.1": "Натисніть, тримаючи рідинний контейнер, як от відро чи пляшка", + "gui.numismatics.salepoint.go": "Почати транзакцію", + "gui.numismatics.salepoint.insufficient_space": "Ціль заповнено чи не під'єднано", + "gui.numismatics.salepoint.invalid_state": "Помилка стану", + "gui.numismatics.salepoint.no_card": "Відсутня картка", + "gui.numismatics.salepoint.no_filter": "Відсутній фільтр", + "gui.numismatics.salepoint.no_state": "Не налаштовано", + "gui.numismatics.salepoint.no_target": "Ціль не знайдено", + "gui.numismatics.salepoint.price": "Ціна за одиницю: %s %s, %s¤", + "gui.numismatics.salepoint.target_failed_purchase": "Ціль не може виконати придбання", + "gui.numismatics.salepoint.target_not_controlled": "Ціль не під управлінням торгівельної точки", "gui.numismatics.trust_list": "Список довіри", + "gui.numismatics.vendor.count": " (%sx)", "gui.numismatics.vendor.full": "Крамниця переповнена", "gui.numismatics.vendor.full.named": "Крамниця переповнена, зверніться до %s", + "gui.numismatics.vendor.generic_named": "Зв'яжіться з %s", "gui.numismatics.vendor.incorrect_item": "Неправильний предмет", "gui.numismatics.vendor.insufficient_funds": "Недостатньо коштів", "gui.numismatics.vendor.mode.buy": "Купувати", @@ -45,32 +92,49 @@ "gui.numismatics.vendor.mode.sell.action": "ЛКМ, щоби продати", "gui.numismatics.vendor.no_item_in_hand": "Тримайте в руці стос предметів, які хочете продати", "gui.numismatics.vendor.out_of_stock": "Немає в наявности", + "gui.numismatics.vendor.out_of_stock.funds": "У продавця недостатньо коштів", + "gui.numismatics.vendor.out_of_stock.funds.named": "У продавця недостатньо коштів, зв'яжіться із %s для поповнення", "gui.numismatics.vendor.out_of_stock.named": "Товару нема в наявности, зверніться до %s", + "gui.numismatics.vendor.toggle_automated_extraction": "Перемкнути автоматизоване вилучення", "gui.numismatics.vendor.too_few_items": "Замало предметів", - "item.numismatics.bank_card.tooltip": "БАНкІВСЬКА КАРТКА", + "item.numismatics.authorized_bank_card.tooltip": "АВТОРИЗОВАНА БАНКІВСЬКА КАРТКА", + "item.numismatics.authorized_bank_card.tooltip.summary": "Для прив'язки покладіть у банківський термінал у _розділ субрахунків_, для очищення _ПКМ + Shift_. Дозволяє надавати обмежений доступ до банківського акаунту для довірених гравців чи автоматизації. Може бути позміщено у _крамницю чи вкладника_ для автоматичного збору монет та внесення їх на прив'язаний рахунок.", + "item.numismatics.authorized_card.tooltip.bound.no_label": "Субрахунок: невідомо", + "item.numismatics.authorized_card.tooltip.bound.with_label": "Cубрахунок: %s", + "item.numismatics.authorized_card.tooltip.hold_shift": "Присядьте для очищення. Прив'яжіть у банківському терміналі", + "item.numismatics.bank_card.tooltip": "БАНКІВСЬКА КАРТКА", "item.numismatics.bank_card.tooltip.summary": "_Клацніть ПКМ_, щоби прив’язати, _ПКМ + Shift_, щоб очистити. Дозволяє отримати доступ до прив’язаного банківського рахунку, якщо він використовується в _банківському терміналі_, або може бути розміщений у _вкладнику/крамниці_, щоб автоматично збирати монетки та додавати їх до прив’язаного рахунку.", "item.numismatics.banking_guide": "Посібник з банкірства", "item.numismatics.banking_guide.tooltip": "ПОСІБНИК З БАНКІРСТВА", - "item.numismatics.banking_guide.tooltip.summary": "Використайте на _пальнику племеня_, щоби перетворити його на _банківського пломеня_.", + "item.numismatics.banking_guide.tooltip.summary": "Використайте на _пальнику пломеня_, щоби перетворити його на _банківського пломеня_.", "item.numismatics.bevel": "Фасочка", + "item.numismatics.bevel.plural": "Фасочки", + "item.numismatics.black_authorized_card": "Чорна авторизована картка", "item.numismatics.black_card": "Чорна картка", "item.numismatics.black_id_card": "Чорна ID-картка", + "item.numismatics.blue_authorized_card": "Синя авторизована картка", "item.numismatics.blue_card": "Синя картка", "item.numismatics.blue_id_card": "Синя ID-картка", + "item.numismatics.brown_authorized_card": "Коричнева авторизована картка", "item.numismatics.brown_card": "Коричнева картка", "item.numismatics.brown_id_card": "Коричнева ID-картка", "item.numismatics.card.tooltip.blank": "Порожня", "item.numismatics.card.tooltip.bound": "Прив'язана", "item.numismatics.card.tooltip.bound.to": "Прив'язана до: %s", "item.numismatics.cog": "Шестірня", + "item.numismatics.cog.plural": "Шестерні", "item.numismatics.coin.tooltip.count": "Рахунок: %s %s", "item.numismatics.coin.tooltip.value": "Цінність: %s %s (%s¤)", "item.numismatics.coin.tooltip.value.basic": "Цінність: %s¤", "item.numismatics.crown": "Коронка", + "item.numismatics.crown.plural": "Корони", + "item.numismatics.cyan_authorized_card": "Бірюзова авторизована картка", "item.numismatics.cyan_card": "Бірюзова картка", "item.numismatics.cyan_id_card": "Бірюзова ID-картка", + "item.numismatics.gray_authorized_card": "Сіра авторизована картка", "item.numismatics.gray_card": "Сіра картка", "item.numismatics.gray_id_card": "Сіра ID-картка", + "item.numismatics.green_authorized_card": "Зелена авторизована картка", "item.numismatics.green_card": "Зелена картка", "item.numismatics.green_id_card": "Зелена ID-картка", "item.numismatics.id_card.tooltip": "ID-КАРТКА", @@ -78,28 +142,57 @@ "item.numismatics.id_card.tooltip.bound": "Прив'язано до себе", "item.numismatics.id_card.tooltip.cleared": "Очищено", "item.numismatics.id_card.tooltip.summary": "_Клацніть ПКМ_, щоби прив’язати, _ПКМ + Shift, щоб очистити. Можна розмістити в довіреному меню монетознавчих блоків, щоби надати пов’язаному гравцеві доступ до цього блоку.", + "item.numismatics.light_blue_authorized_card": "Блакитна авторизована картка", "item.numismatics.light_blue_card": "Блакитна картка", "item.numismatics.light_blue_id_card": "Блакитна ID-картка", + "item.numismatics.light_gray_authorized_card": "Світло-сіра авторизована картка", "item.numismatics.light_gray_card": "Світло-сіра картка", "item.numismatics.light_gray_id_card": "Світло-сіра ID-картка", + "item.numismatics.lime_authorized_card": "Лаймова авторизована картка", "item.numismatics.lime_card": "Лаймова картка", "item.numismatics.lime_id_card": "Лаймова ID-картка", + "item.numismatics.magenta_authorized_card": "Пурпурова авторизована картка", "item.numismatics.magenta_card": "Пурпурова картка", "item.numismatics.magenta_id_card": "Пурпурова ID-картка", + "item.numismatics.orange_authorized_card": "Помаранчева авторизована картка", "item.numismatics.orange_card": "Помаранчева картка", "item.numismatics.orange_id_card": "Помаранчева ID-картка", + "item.numismatics.pink_authorized_card": "Рожева авторизована картка", "item.numismatics.pink_card": "Рожева картка", "item.numismatics.pink_id_card": "Рожева ID-картка", + "item.numismatics.purple_authorized_card": "Фіолетова авторизована картка", "item.numismatics.purple_card": "Фіолетова картка", "item.numismatics.purple_id_card": "Фіолетова ID-картка", + "item.numismatics.red_authorized_card": "Червона авторизована картка", "item.numismatics.red_card": "Червона картка", "item.numismatics.red_id_card": "Червона ID-картка", "item.numismatics.sprocket": "Зірочка", + "item.numismatics.sprocket.plural": "Зірочки", "item.numismatics.spur": "Шпорка", + "item.numismatics.spur.plural": "Шпорки", "item.numismatics.sun": "Сонечко", + "item.numismatics.sun.plural": "Сонечки", + "item.numismatics.white_authorized_card": "Біла авторизована картка", "item.numismatics.white_card": "Біла картка", "item.numismatics.white_id_card": "Біла ID-картка", + "item.numismatics.yellow_authorized_card": "Жовта авторизована картка", "item.numismatics.yellow_card": "Жовта картка", "item.numismatics.yellow_id_card": "Жовта ID-картка", - "itemGroup.numismatics": "Create: Монетознавство" + "itemGroup.numismatics": "Create: Монетознавство", + "numismatics.andesite_depositor.price": "Ціна", + "numismatics.authorization_type.anybody": "Будь-хто", + "numismatics.authorization_type.anybody.description": "Будь-хто із ID, включаючи автоматизацію, як от за допомогою ComputerCraft", + "numismatics.authorization_type.trusted_automation": "Довірені гравці та автоматизація", + "numismatics.authorization_type.trusted_automation.description": "Гравці зі списку довіри та автоматизація, створена ними, як от застосовувачі", + "numismatics.authorization_type.trusted_players": "Лише довірені гравці", + "numismatics.authorization_type.trusted_players.description": "Лише гравці зі списку довіри", + "numismatics.special.ltr": "так", + "numismatics.trust_list.configure": "Налаштувати список довіри", + "tag.block.numismatics.numismatics_blocks": "Блоки з Numismatics", + "tag.item.forge.string": "Рядок", + "tag.item.numismatics.authorized_cards": "Авторизовані картки", + "tag.item.numismatics.cards": "Картки", + "tag.item.numismatics.coins": "Монети", + "tag.item.numismatics.id_cards": "Ідентифікаційні картки", + "tag.item.numismatics.numismatics_items": "Речі з Numismatics" } \ No newline at end of file diff --git a/fabric/build.gradle.kts b/fabric/build.gradle.kts index a8fc2f8..d7f2382 100644 --- a/fabric/build.gradle.kts +++ b/fabric/build.gradle.kts @@ -45,8 +45,6 @@ repositories { // mavens for Fabric-exclusives maven("https://api.modrinth.com/maven") // LazyDFU maven("https://maven.terraformersmc.com/releases/") // Mod Menu, EMI - maven("https://mvn.devos.one/snapshots/") // Create Fabric, Porting Lib, Forge Tags, Milk Lib, Registrate Fabric - maven("https://mvn.devos.one/releases") // Porting Lib Releases maven("https://raw.githubusercontent.com/Fuzss/modresources/main/maven/") // Forge config api port maven("https://maven.cafeteria.dev/releases") // Fake Player API maven("https://maven.jamieswhiteshirt.com/libs-release") // Reach Entity Attributes diff --git a/fabric/src/main/java/dev/ithundxr/createnumismatics/events/fabric/CommonEventsFabric.java b/fabric/src/main/java/dev/ithundxr/createnumismatics/events/fabric/CommonEventsFabric.java index 6c98602..f19ed6d 100644 --- a/fabric/src/main/java/dev/ithundxr/createnumismatics/events/fabric/CommonEventsFabric.java +++ b/fabric/src/main/java/dev/ithundxr/createnumismatics/events/fabric/CommonEventsFabric.java @@ -33,5 +33,6 @@ public static void init() { ServerWorldEvents.LOAD.register((server, level) -> CommonEvents.onLoadWorld(level)); PlayerBlockBreakEvents.BEFORE.register((level, player, pos, state, entity) -> CommonEvents.onBlockBreak(level, pos, state, player)); ServerPlayConnectionEvents.JOIN.register((connection, packetSender, server) -> CommonEvents.onPlayerJoin(connection.player)); + UseBlockCallback.EVENT.register((player, world, hand, hitResult) -> CommonEvents.onUseBlock(player, world, hand, hitResult)); } } diff --git a/forge/src/main/java/dev/ithundxr/createnumismatics/events/forge/CommonEventsForge.java b/forge/src/main/java/dev/ithundxr/createnumismatics/events/forge/CommonEventsForge.java index 8c47939..6e923a0 100644 --- a/forge/src/main/java/dev/ithundxr/createnumismatics/events/forge/CommonEventsForge.java +++ b/forge/src/main/java/dev/ithundxr/createnumismatics/events/forge/CommonEventsForge.java @@ -47,4 +47,9 @@ public static void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) { if (event.getEntity() instanceof ServerPlayer serverPlayer) CommonEvents.onPlayerJoin(serverPlayer); } + + @SubscribeEvent + public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { + CommonEvents.onUseBlock(event.getEntity(), event.getLevel(), event.getHand(), event.getHitVec()); + } } diff --git a/gradle.properties b/gradle.properties index 55ddef3..d0ade85 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,8 +16,10 @@ # along with this program. If not, see . # -org.gradle.jvmargs = -Xmx2G -org.gradle.caching=true +org.gradle.jvmargs = -Xmx3G +org.gradle.caching = true + +loom.ignoreDependencyLoomVersionValidation=true # Mod Info archives_base_name = CreateNumismatics @@ -41,11 +43,11 @@ forge_version = 47.1.43 # Create - Fabric # https://modrinth.com/mod/create-fabric/versions -create_fabric_version = 0.5.1-h-build.1516+mc1.20.1 +create_fabric_version = 0.5.1-j-build.1604+mc1.20.1 # Create - Forge # https://github.com/Creators-of-Create/Create/wiki/Depending-on-Create -create_forge_version = 0.5.1.h-48 +create_forge_version = 0.5.1.j-55 registrate_forge_version = MC1.20-1.3.3 flywheel_forge_minecraft_version = 1.20.1 flywheel_forge_version = 0.6.11-13