From f421a548ef36608ade4b9fc6bd9c6059a7bde423 Mon Sep 17 00:00:00 2001 From: Sakura Ryoko <116967773+sakura-ryoko@users.noreply.github.com> Date: Tue, 3 Dec 2024 20:50:51 -0500 Subject: [PATCH] Squash from DEV for 1.21.4 (#79) * port to 24w44a (Add support for new Empty Inventory Slots code) * fix Data Syncer * fix Data Syncer logic * fix inventoryPreview for OP-only mode * cleanup * Add Bundle Preview * add whitelisted easy place properties * port to 24w45a * Update Crowdin configuration file * New Crowdin updates (#63) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * add German, Japanese, Spanish from Crowdin * port to 24w46a * add EnderChest previews * add EnderChest previews * fix EnderItems on multiplayer with Servux * New Crowdin updates (#64) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (Spanish) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Spanish, Mexico) * New translations en_us.json (French) * New translations en_us.json (Arabic) * Crowdin Update * New Crowdin updates (#66) * New translations en_us.json (Romanian) * New translations en_us.json (Afrikaans) * New translations en_us.json (Catalan) * New translations en_us.json (Czech) * New translations en_us.json (Danish) * New translations en_us.json (Greek) * New translations en_us.json (Finnish) * New translations en_us.json (Hebrew) * New translations en_us.json (Hungarian) * New translations en_us.json (Italian) * New translations en_us.json (Korean) * New translations en_us.json (Dutch) * New translations en_us.json (Norwegian) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese) * New translations en_us.json (Russian) * New translations en_us.json (Serbian (Cyrillic)) * New translations en_us.json (Swedish) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Klingon) * New translations en_us.json (Pirate English) * New translations en_us.json (Romanian) * New translations en_us.json (Afrikaans) * New translations en_us.json (Catalan) * New translations en_us.json (Czech) * New translations en_us.json (Danish) * New translations en_us.json (Greek) * New translations en_us.json (Finnish) * New translations en_us.json (Hebrew) * New translations en_us.json (Hungarian) * New translations en_us.json (Italian) * New translations en_us.json (Korean) * New translations en_us.json (Dutch) * New translations en_us.json (Norwegian) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese) * New translations en_us.json (Russian) * New translations en_us.json (Serbian (Cyrillic)) * New translations en_us.json (Swedish) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Romanian) * New translations en_us.json (French) * New translations en_us.json (Afrikaans) * New translations en_us.json (Arabic) * New translations en_us.json (Catalan) * New translations en_us.json (Danish) * New translations en_us.json (German) * New translations en_us.json (Italian) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese) * New translations en_us.json (Russian) * New translations en_us.json (Serbian (Cyrillic)) * New translations en_us.json (Swedish) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Portuguese, Brazilian) * Delete src/main/resources/assets/tweakeroo/lang/crowdin/en_PT.json * Delete src/main/resources/assets/tweakeroo/lang/crowdin/tlh_AA.json * Delete src/main/resources/assets/tweakeroo/lang/crowdin/es_MX.json * Update Crowdin configuration file * update source langs * Update Server Data Syncer timeout / 'lastEntity' method from MiniHUD. * New Crowdin updates (#68) * New translations en_us.json (Romanian) * New translations en_us.json (French) * New translations en_us.json (Spanish) * New translations en_us.json (Afrikaans) * New translations en_us.json (Arabic) * New translations en_us.json (Catalan) * New translations en_us.json (Czech) * New translations en_us.json (Danish) * New translations en_us.json (German) * New translations en_us.json (Greek) * New translations en_us.json (Finnish) * New translations en_us.json (Hebrew) * New translations en_us.json (Hungarian) * New translations en_us.json (Italian) * New translations en_us.json (Japanese) * New translations en_us.json (Korean) * New translations en_us.json (Dutch) * New translations en_us.json (Norwegian) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese) * New translations en_us.json (Russian) * New translations en_us.json (Serbian (Cyrillic)) * New translations en_us.json (Swedish) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Arabic) * New translations en_us.json (German) * port to pre1 (Keep an eye on the Wolf Armor) * fix wolf armor display * update crowdin lang files * Update en_us.json * New Crowdin updates (#71) * New translations fr_fr.json (French) * New translations ja_jp.json (French) * New translations ko_kr.json (French) * New translations ru_ru.json (French) * New translations uk_ua.json (French) * New translations zh_cn.json (French) * New translations zh_tw.json (French) * New translations ar_sa.json (Spanish) * New translations es_es.json (Spanish) * New translations fr_fr.json (Spanish) * New translations ja_jp.json (Spanish) * New translations ko_kr.json (Spanish) * New translations ru_ru.json (Spanish) * New translations uk_ua.json (Spanish) * New translations zh_cn.json (Spanish) * New translations zh_tw.json (Spanish) * New translations ar_sa.json (Afrikaans) * New translations es_es.json (Afrikaans) * New translations fr_fr.json (Afrikaans) * New translations ja_jp.json (Afrikaans) * New translations ko_kr.json (Afrikaans) * New translations ru_ru.json (Afrikaans) * New translations uk_ua.json (Afrikaans) * New translations zh_cn.json (Afrikaans) * New translations zh_tw.json (Afrikaans) * New translations ar_sa.json (Arabic) * New translations es_es.json (Arabic) * New translations fr_fr.json (Arabic) * New translations ja_jp.json (Arabic) * New translations ko_kr.json (Arabic) * New translations ru_ru.json (Arabic) * New translations uk_ua.json (Arabic) * New translations zh_cn.json (Arabic) * New translations zh_tw.json (Arabic) * New translations ar_sa.json (Catalan) * New translations es_es.json (Catalan) * New translations fr_fr.json (Catalan) * New translations ja_jp.json (Catalan) * New translations ko_kr.json (Catalan) * New translations ru_ru.json (Catalan) * New translations uk_ua.json (Catalan) * New translations zh_cn.json (Catalan) * New translations zh_tw.json (Catalan) * New translations ar_sa.json (Czech) * New translations es_es.json (Czech) * New translations fr_fr.json (Czech) * New translations ja_jp.json (Czech) * New translations ko_kr.json (Czech) * New translations ru_ru.json (Czech) * New translations uk_ua.json (Czech) * New translations zh_cn.json (Czech) * New translations zh_tw.json (Czech) * New translations ar_sa.json (Danish) * New translations es_es.json (Danish) * New translations fr_fr.json (Danish) * New translations ja_jp.json (Danish) * New translations ko_kr.json (Danish) * New translations ru_ru.json (Danish) * New translations uk_ua.json (Danish) * New translations zh_cn.json (Danish) * New translations zh_tw.json (Danish) * New translations ar_sa.json (German) * New translations es_es.json (German) * New translations fr_fr.json (German) * New translations ja_jp.json (German) * New translations ko_kr.json (German) * New translations ru_ru.json (German) * New translations uk_ua.json (German) * New translations zh_cn.json (German) * New translations zh_tw.json (German) * New translations ar_sa.json (Greek) * New translations es_es.json (Greek) * New translations fr_fr.json (Greek) * New translations ja_jp.json (Greek) * New translations ko_kr.json (Greek) * New translations ru_ru.json (Greek) * New translations uk_ua.json (Greek) * New translations zh_cn.json (Greek) * New translations zh_tw.json (Greek) * New translations ar_sa.json (Finnish) * New translations es_es.json (Finnish) * New translations fr_fr.json (Finnish) * New translations ja_jp.json (Finnish) * New translations ko_kr.json (Finnish) * New translations ru_ru.json (Finnish) * New translations uk_ua.json (Finnish) * New translations zh_cn.json (Finnish) * New translations zh_tw.json (Finnish) * New translations ar_sa.json (Hebrew) * New translations es_es.json (Hebrew) * New translations fr_fr.json (Hebrew) * New translations ja_jp.json (Hebrew) * New translations ko_kr.json (Hebrew) * New translations ru_ru.json (Hebrew) * New translations uk_ua.json (Hebrew) * New translations zh_cn.json (Hebrew) * New translations zh_tw.json (Hebrew) * New translations ar_sa.json (Hungarian) * New translations es_es.json (Hungarian) * New translations fr_fr.json (Hungarian) * New translations ja_jp.json (Hungarian) * New translations ko_kr.json (Hungarian) * New translations ru_ru.json (Hungarian) * New translations uk_ua.json (Hungarian) * New translations zh_cn.json (Hungarian) * New translations zh_tw.json (Hungarian) * New translations ar_sa.json (Italian) * New translations es_es.json (Italian) * New translations fr_fr.json (Italian) * New translations ja_jp.json (Italian) * New translations ko_kr.json (Italian) * New translations ru_ru.json (Italian) * New translations uk_ua.json (Italian) * New translations zh_cn.json (Italian) * New translations zh_tw.json (Italian) * New translations ar_sa.json (Japanese) * New translations es_es.json (Japanese) * New translations fr_fr.json (Japanese) * New translations ja_jp.json (Japanese) * New translations ko_kr.json (Japanese) * New translations ru_ru.json (Japanese) * New translations uk_ua.json (Japanese) * New translations zh_cn.json (Japanese) * New translations zh_tw.json (Japanese) * New translations ar_sa.json (Korean) * New translations es_es.json (Korean) * New translations fr_fr.json (Korean) * New translations ja_jp.json (Korean) * New translations ko_kr.json (Korean) * New translations ru_ru.json (Korean) * New translations uk_ua.json (Korean) * New translations zh_cn.json (Korean) * New translations zh_tw.json (Korean) * New translations ar_sa.json (Dutch) * New translations es_es.json (Dutch) * New translations fr_fr.json (Dutch) * New translations ja_jp.json (Dutch) * New translations ko_kr.json (Dutch) * New translations ru_ru.json (Dutch) * New translations uk_ua.json (Dutch) * New translations zh_cn.json (Dutch) * New translations zh_tw.json (Dutch) * New translations ar_sa.json (Norwegian) * New translations es_es.json (Norwegian) * New translations fr_fr.json (Norwegian) * New translations ja_jp.json (Norwegian) * New translations ko_kr.json (Norwegian) * New translations ru_ru.json (Norwegian) * New translations uk_ua.json (Norwegian) * New translations zh_cn.json (Norwegian) * New translations zh_tw.json (Norwegian) * New translations ar_sa.json (Polish) * New translations es_es.json (Polish) * New translations fr_fr.json (Polish) * New translations ja_jp.json (Polish) * New translations ko_kr.json (Polish) * New translations ru_ru.json (Polish) * New translations uk_ua.json (Polish) * New translations zh_cn.json (Polish) * New translations zh_tw.json (Polish) * New translations ar_sa.json (Portuguese) * New translations es_es.json (Portuguese) * New translations fr_fr.json (Portuguese) * New translations ja_jp.json (Portuguese) * New translations ko_kr.json (Portuguese) * New translations ru_ru.json (Portuguese) * New translations uk_ua.json (Portuguese) * New translations zh_cn.json (Portuguese) * New translations zh_tw.json (Portuguese) * New translations ar_sa.json (Russian) * New translations es_es.json (Russian) * New translations fr_fr.json (Russian) * New translations ja_jp.json (Russian) * New translations ko_kr.json (Russian) * New translations ru_ru.json (Russian) * New translations uk_ua.json (Russian) * New translations zh_cn.json (Russian) * New translations zh_tw.json (Russian) * New translations ar_sa.json (Serbian (Cyrillic)) * New translations es_es.json (Serbian (Cyrillic)) * New translations fr_fr.json (Serbian (Cyrillic)) * New translations ja_jp.json (Serbian (Cyrillic)) * New translations ko_kr.json (Serbian (Cyrillic)) * New translations ru_ru.json (Serbian (Cyrillic)) * New translations uk_ua.json (Serbian (Cyrillic)) * New translations zh_cn.json (Serbian (Cyrillic)) * New translations zh_tw.json (Serbian (Cyrillic)) * New translations ar_sa.json (Swedish) * New translations es_es.json (Swedish) * New translations fr_fr.json (Swedish) * New translations ja_jp.json (Swedish) * New translations ko_kr.json (Swedish) * New translations ru_ru.json (Swedish) * New translations uk_ua.json (Swedish) * New translations zh_cn.json (Swedish) * New translations zh_tw.json (Swedish) * New translations ar_sa.json (Turkish) * New translations es_es.json (Turkish) * New translations fr_fr.json (Turkish) * New translations ja_jp.json (Turkish) * New translations ko_kr.json (Turkish) * New translations ru_ru.json (Turkish) * New translations uk_ua.json (Turkish) * New translations zh_cn.json (Turkish) * New translations zh_tw.json (Turkish) * New translations ar_sa.json (Ukrainian) * New translations es_es.json (Ukrainian) * New translations fr_fr.json (Ukrainian) * New translations ja_jp.json (Ukrainian) * New translations ko_kr.json (Ukrainian) * New translations ru_ru.json (Ukrainian) * New translations uk_ua.json (Ukrainian) * New translations zh_cn.json (Ukrainian) * New translations zh_tw.json (Ukrainian) * New translations ar_sa.json (Chinese Simplified) * New translations es_es.json (Chinese Simplified) * New translations fr_fr.json (Chinese Simplified) * New translations ja_jp.json (Chinese Simplified) * New translations ko_kr.json (Chinese Simplified) * New translations ru_ru.json (Chinese Simplified) * New translations uk_ua.json (Chinese Simplified) * New translations zh_cn.json (Chinese Simplified) * New translations zh_tw.json (Chinese Simplified) * New translations ar_sa.json (Chinese Traditional) * New translations es_es.json (Chinese Traditional) * New translations fr_fr.json (Chinese Traditional) * New translations ja_jp.json (Chinese Traditional) * New translations ko_kr.json (Chinese Traditional) * New translations ru_ru.json (Chinese Traditional) * New translations uk_ua.json (Chinese Traditional) * New translations zh_cn.json (Chinese Traditional) * New translations zh_tw.json (Chinese Traditional) * New translations ar_sa.json (Vietnamese) * New translations es_es.json (Vietnamese) * New translations fr_fr.json (Vietnamese) * New translations ja_jp.json (Vietnamese) * New translations ko_kr.json (Vietnamese) * New translations ru_ru.json (Vietnamese) * New translations uk_ua.json (Vietnamese) * New translations zh_cn.json (Vietnamese) * New translations zh_tw.json (Vietnamese) * New translations ar_sa.json (Portuguese, Brazilian) * New translations es_es.json (Portuguese, Brazilian) * New translations fr_fr.json (Portuguese, Brazilian) * New translations ja_jp.json (Portuguese, Brazilian) * New translations ko_kr.json (Portuguese, Brazilian) * New translations ru_ru.json (Portuguese, Brazilian) * New translations uk_ua.json (Portuguese, Brazilian) * New translations zh_cn.json (Portuguese, Brazilian) * New translations zh_tw.json (Portuguese, Brazilian) * New Crowdin updates (#72) * New translations es_es.json (Finnish) * New translations fr_fr.json (Finnish) * New translations ja_jp.json (Finnish) * New translations ko_kr.json (Finnish) * New translations ru_ru.json (Finnish) * New translations uk_ua.json (Finnish) * New translations zh_cn.json (Finnish) * New translations zh_tw.json (Finnish) * New translations ar_sa.json (Hebrew) * New translations es_es.json (Hebrew) * New translations fr_fr.json (Hebrew) * New translations ja_jp.json (Hebrew) * New translations ko_kr.json (Hebrew) * New translations ru_ru.json (Hebrew) * New translations uk_ua.json (Hebrew) * New translations zh_cn.json (Hebrew) * New translations zh_tw.json (Hebrew) * New translations ar_sa.json (Hungarian) * New translations es_es.json (Hungarian) * New translations fr_fr.json (Hungarian) * New translations ja_jp.json (Hungarian) * New translations ko_kr.json (Hungarian) * New translations ru_ru.json (Hungarian) * New translations uk_ua.json (Hungarian) * New translations zh_cn.json (Hungarian) * New translations zh_tw.json (Hungarian) * New translations ar_sa.json (Italian) * New translations es_es.json (Italian) * New translations fr_fr.json (Italian) * New translations ja_jp.json (Italian) * New translations ko_kr.json (Italian) * New translations ru_ru.json (Italian) * New translations uk_ua.json (Italian) * New translations zh_cn.json (Italian) * New translations zh_tw.json (Italian) * New translations ar_sa.json (Japanese) * New translations es_es.json (Japanese) * New translations fr_fr.json (Japanese) * New translations ja_jp.json (Japanese) * New translations ko_kr.json (Japanese) * New translations ru_ru.json (Japanese) * New translations uk_ua.json (Japanese) * New translations zh_cn.json (Japanese) * New translations zh_tw.json (Japanese) * New translations ar_sa.json (Korean) * New translations es_es.json (Korean) * New translations fr_fr.json (Korean) * New translations ja_jp.json (Korean) * New translations ko_kr.json (Korean) * New translations ru_ru.json (Korean) * New translations uk_ua.json (Korean) * New translations zh_cn.json (Korean) * New translations zh_tw.json (Korean) * New translations ar_sa.json (Dutch) * New translations es_es.json (Dutch) * New translations fr_fr.json (Dutch) * New translations ja_jp.json (Dutch) * New translations ko_kr.json (Dutch) * New translations ru_ru.json (Dutch) * New translations uk_ua.json (Dutch) * New translations zh_cn.json (Dutch) * New translations zh_tw.json (Dutch) * New translations ar_sa.json (Norwegian) * New translations es_es.json (Norwegian) * New translations fr_fr.json (Norwegian) * New translations ja_jp.json (Norwegian) * New translations ko_kr.json (Norwegian) * New translations ru_ru.json (Norwegian) * New translations uk_ua.json (Norwegian) * New translations zh_cn.json (Norwegian) * New translations zh_tw.json (Norwegian) * New translations ar_sa.json (Polish) * New translations es_es.json (Polish) * New translations fr_fr.json (Polish) * New translations ja_jp.json (Polish) * New translations ko_kr.json (Polish) * New translations ru_ru.json (Polish) * New translations uk_ua.json (Polish) * New translations zh_cn.json (Polish) * New translations zh_tw.json (Polish) * New translations ar_sa.json (Portuguese) * New translations es_es.json (Portuguese) * New translations fr_fr.json (Portuguese) * New translations ja_jp.json (Portuguese) * New translations ko_kr.json (Portuguese) * New translations ru_ru.json (Portuguese) * New translations uk_ua.json (Portuguese) * New translations zh_cn.json (Portuguese) * New translations zh_tw.json (Portuguese) * New translations ar_sa.json (Russian) * New translations es_es.json (Russian) * New translations fr_fr.json (Russian) * New translations ja_jp.json (Russian) * New translations ko_kr.json (Russian) * New translations ru_ru.json (Russian) * New translations uk_ua.json (Russian) * New translations zh_cn.json (Russian) * New translations zh_tw.json (Russian) * New translations ar_sa.json (Serbian (Cyrillic)) * New translations es_es.json (Serbian (Cyrillic)) * New translations fr_fr.json (Serbian (Cyrillic)) * New translations ja_jp.json (Serbian (Cyrillic)) * New translations ko_kr.json (Serbian (Cyrillic)) * New translations ru_ru.json (Serbian (Cyrillic)) * New translations uk_ua.json (Serbian (Cyrillic)) * New translations zh_cn.json (Serbian (Cyrillic)) * New translations zh_tw.json (Serbian (Cyrillic)) * New translations ar_sa.json (Swedish) * New translations es_es.json (Swedish) * New translations fr_fr.json (Swedish) * New translations ja_jp.json (Swedish) * New translations ko_kr.json (Swedish) * New translations ru_ru.json (Swedish) * New translations uk_ua.json (Swedish) * New translations zh_cn.json (Swedish) * New translations zh_tw.json (Swedish) * New translations ar_sa.json (Turkish) * New translations es_es.json (Turkish) * New translations fr_fr.json (Turkish) * New translations ja_jp.json (Turkish) * New translations ko_kr.json (Turkish) * New translations ru_ru.json (Turkish) * New translations uk_ua.json (Turkish) * New translations zh_cn.json (Turkish) * New translations zh_tw.json (Turkish) * New translations ar_sa.json (Ukrainian) * New translations es_es.json (Ukrainian) * New translations fr_fr.json (Ukrainian) * New translations ja_jp.json (Ukrainian) * New translations ko_kr.json (Ukrainian) * New translations ru_ru.json (Ukrainian) * New translations uk_ua.json (Ukrainian) * New translations zh_cn.json (Ukrainian) * New translations zh_tw.json (Ukrainian) * New translations ar_sa.json (Chinese Simplified) * New translations es_es.json (Chinese Simplified) * New translations fr_fr.json (Chinese Simplified) * New translations ja_jp.json (Chinese Simplified) * New translations ko_kr.json (Chinese Simplified) * New translations ru_ru.json (Chinese Simplified) * New translations uk_ua.json (Chinese Simplified) * New translations zh_cn.json (Chinese Simplified) * New translations zh_tw.json (Chinese Simplified) * New translations ar_sa.json (Chinese Traditional) * New translations es_es.json (Chinese Traditional) * New translations fr_fr.json (Chinese Traditional) * New translations ja_jp.json (Chinese Traditional) * New translations ko_kr.json (Chinese Traditional) * New translations ru_ru.json (Chinese Traditional) * New translations uk_ua.json (Chinese Traditional) * New translations zh_cn.json (Chinese Traditional) * New translations zh_tw.json (Chinese Traditional) * New translations ar_sa.json (Vietnamese) * New translations es_es.json (Vietnamese) * New translations fr_fr.json (Vietnamese) * New translations ja_jp.json (Vietnamese) * New translations ko_kr.json (Vietnamese) * New translations ru_ru.json (Vietnamese) * New translations uk_ua.json (Vietnamese) * New translations zh_cn.json (Vietnamese) * New translations zh_tw.json (Vietnamese) * New translations ar_sa.json (Portuguese, Brazilian) * New translations es_es.json (Portuguese, Brazilian) * New translations fr_fr.json (Portuguese, Brazilian) * New translations ja_jp.json (Portuguese, Brazilian) * New translations ko_kr.json (Portuguese, Brazilian) * New translations ru_ru.json (Portuguese, Brazilian) * New translations uk_ua.json (Portuguese, Brazilian) * New translations zh_cn.json (Portuguese, Brazilian) * New translations zh_tw.json (Portuguese, Brazilian) * New translations en_us.json (Romanian) * New translations en_us.json (French) * New translations en_us.json (Spanish) * New translations en_us.json (Afrikaans) * New translations en_us.json (Arabic) * New translations en_us.json (Catalan) * New translations en_us.json (Czech) * New translations en_us.json (Danish) * New translations en_us.json (German) * New translations en_us.json (Greek) * New translations en_us.json (Finnish) * New translations en_us.json (Hebrew) * New translations en_us.json (Hungarian) * New translations en_us.json (Italian) * New translations en_us.json (Japanese) * New translations en_us.json (Korean) * New translations en_us.json (Dutch) * New translations en_us.json (Norwegian) * New translations en_us.json (Polish) * New translations en_us.json (Portuguese) * New translations en_us.json (Russian) * New translations en_us.json (Serbian (Cyrillic)) * New translations en_us.json (Swedish) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Vietnamese) * New translations en_us.json (Portuguese, Brazilian) * New translations ar_sa.json (Romanian) * New translations es_es.json (Romanian) * New translations fr_fr.json (Romanian) * New translations ja_jp.json (Romanian) * New translations ko_kr.json (Romanian) * New translations ru_ru.json (Romanian) * New translations uk_ua.json (Romanian) * New translations zh_cn.json (Romanian) * New translations zh_tw.json (Romanian) * New translations ar_sa.json (French) * New translations es_es.json (French) * New translations fr_fr.json (French) * New translations ja_jp.json (French) * New translations ko_kr.json (French) * New translations ru_ru.json (French) * New translations uk_ua.json (French) * New translations zh_cn.json (French) * New translations zh_tw.json (French) * New translations ar_sa.json (Spanish) * New translations es_es.json (Spanish) * New translations fr_fr.json (Spanish) * New translations ja_jp.json (Spanish) * New translations ko_kr.json (Spanish) * New translations ru_ru.json (Spanish) * New translations uk_ua.json (Spanish) * New translations zh_cn.json (Spanish) * New translations zh_tw.json (Spanish) * New translations ar_sa.json (Afrikaans) * New translations es_es.json (Afrikaans) * New translations fr_fr.json (Afrikaans) * New translations ja_jp.json (Afrikaans) * New translations ko_kr.json (Afrikaans) * New translations ru_ru.json (Afrikaans) * New translations uk_ua.json (Afrikaans) * New translations zh_cn.json (Afrikaans) * New translations zh_tw.json (Afrikaans) * New translations ar_sa.json (Arabic) * New translations es_es.json (Arabic) * New translations fr_fr.json (Arabic) * New translations ja_jp.json (Arabic) * New translations ko_kr.json (Arabic) * New translations ru_ru.json (Arabic) * New translations uk_ua.json (Arabic) * New translations zh_cn.json (Arabic) * New translations zh_tw.json (Arabic) * New translations ar_sa.json (Catalan) * New translations es_es.json (Catalan) * New translations fr_fr.json (Catalan) * New translations ja_jp.json (Catalan) * New translations ja_jp.json (Japanese) * New translations ja_jp.json (Japanese) * New translations ja_jp.json (Japanese) (#73) * Update Crowdin configuration file * New Crowdin updates (#74) * New translations en_us.json (Romanian) * New translations en_us.json (French) * New translations en_us.json (Spanish) * New translations en_us.json (Afrikaans) * New translations en_us.json (Arabic) * New translations en_us.json (Catalan) * New translations en_us.json (Japanese) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Hindi) * Add Hindi & Polish * port to pre2 * Crowdin sync * port to rc2 * Fix Tweakeroo's free camera tweak breaking zoom mods (#75) * Remove crowdin * Delete crowdin.yml * port to rc3 * Update jitpack.yml * update lang file * Fix Feature Toggle * Fix Feature Toggle * fix Feature Toggle Config Name length * bump malilib, gradle, loom --------- Co-authored-by: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> --- build.gradle | 12 +++++++++-- gradle.properties | 16 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../tweakeroo/mixin/IMixinAbstractBlock.java | 8 +++++++ .../MixinBlockEntityRenderDispatcher.java | 21 +++++++++---------- .../tweakeroo/mixin/MixinKeyboardInput.java | 4 ++-- .../mixin/MixinServerChunkLoadingManager.java | 2 +- .../mixin/MixinWeatherRendering.java | 6 +++--- .../tweakeroo/mixin/MixinWorldRenderer.java | 12 +++++------ .../masa/tweakeroo/renderer/RenderUtils.java | 12 +++++------ .../tweakeroo/tweaks/PlacementTweaks.java | 11 +++++----- .../tweakeroo/util/DummyMovementInput.java | 2 +- .../masa/tweakeroo/util/InventoryUtils.java | 5 +++-- .../dy/masa/tweakeroo/util/RayTraceUtils.java | 8 +++---- src/main/resources/fabric.mod.json | 4 ++-- 15 files changed, 70 insertions(+), 55 deletions(-) diff --git a/build.gradle b/build.gradle index cf89fb5ae..5e898e134 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,7 @@ +import org.gradle.api.tasks.bundling.AbstractArchiveTask + plugins { - id 'fabric-loom' version '1.8-SNAPSHOT' + id 'fabric-loom' version '1.9-SNAPSHOT' } //sourceCompatibility = JavaVersion.VERSION_21 @@ -36,7 +38,7 @@ dependencies { } group = project.group + "." + project.mod_id -archivesBaseName = project.mod_file_name + '-' + project.minecraft_version_out +base.archivesName = project.mod_file_name + '-' + project.minecraft_version_out version = project.mod_version if (version.endsWith('-dev')) { @@ -73,3 +75,9 @@ tasks.withType(AbstractArchiveTask).configureEach { preserveFileTimestamps = true //reproducibleFileOrder = true } + +jar { + from("LICENSE") { + rename { "${it}_${project.archivesName}"} + } +} diff --git a/gradle.properties b/gradle.properties index 3df83a66c..f9679e0f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,16 +9,16 @@ author = masa mod_file_name = tweakeroo-fabric # Current mod version -mod_version = 0.22.2 +mod_version = 0.23.0-sakura.1 # Required malilib version -malilib_version = fb23fa3224 +malilib_version = 1e13f4c8ce # Minecraft, Fabric Loader and API and mappings versions -minecraft_version_out = 1.21.3 -minecraft_version = 1.21.3 -mappings_version = 1.21.3+build.2 +minecraft_version_out = 1.21.4 +minecraft_version = 1.21.4 +mappings_version = 1.21.4+build.1 -fabric_loader_version = 0.16.7 -mod_menu_version = 12.0.0-beta.1 -# fabric_api_version = 0.106.1+1.21.3 +fabric_loader_version = 0.16.9 +mod_menu_version = 13.0.0-beta.1 +# fabric_api_version = 0.110.5+1.21.4 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b8..e2847c820 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/IMixinAbstractBlock.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/IMixinAbstractBlock.java index a68042d4c..9f552fcb0 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/IMixinAbstractBlock.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/IMixinAbstractBlock.java @@ -1,8 +1,13 @@ package fi.dy.masa.tweakeroo.mixin; +import net.minecraft.block.BlockState; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mutable; import org.spongepowered.asm.mixin.gen.Accessor; +import org.spongepowered.asm.mixin.gen.Invoker; @Mixin(net.minecraft.block.AbstractBlock.class) public interface IMixinAbstractBlock @@ -10,4 +15,7 @@ public interface IMixinAbstractBlock @Mutable @Accessor("slipperiness") void setFriction(float friction); + + @Invoker("getPickStack") + ItemStack tweakeroo_getPickStack(WorldView world, BlockPos pos, BlockState state, boolean bl); } diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinBlockEntityRenderDispatcher.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinBlockEntityRenderDispatcher.java index 41bc67674..2ea953f8d 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinBlockEntityRenderDispatcher.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinBlockEntityRenderDispatcher.java @@ -1,10 +1,14 @@ package fi.dy.masa.tweakeroo.mixin; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.util.math.MatrixStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + import fi.dy.masa.tweakeroo.config.Configs; @Mixin(net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher.class) @@ -26,19 +30,14 @@ private void preventTileEntityRendering( } } - @Inject(method = "renderEntity(" + - "Lnet/minecraft/block/entity/BlockEntity;" + - "Lnet/minecraft/client/util/math/MatrixStack;" + - "Lnet/minecraft/client/render/VertexConsumerProvider;II)Z", at = @At("HEAD"), cancellable = true) - private void preventTileEntityRendering( - net.minecraft.block.entity.BlockEntity tileEntityIn, - net.minecraft.client.util.math.MatrixStack matrixStack, - net.minecraft.client.render.VertexConsumerProvider vertexConsumerProvider, - int light, int overlay, CallbackInfoReturnable cir) + @Inject(method = "render(Lnet/minecraft/client/render/block/entity/BlockEntityRenderer;Lnet/minecraft/block/entity/BlockEntity;FLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;)V", + at = @At("HEAD"), cancellable = true) + private static void preventTileEntityRendering( + BlockEntityRenderer renderer, T blockEntity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, CallbackInfo ci) { if (Configs.Disable.DISABLE_TILE_ENTITY_RENDERING.getBooleanValue()) { - cir.setReturnValue(true); + ci.cancel(); } } } diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinKeyboardInput.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinKeyboardInput.java index a1971415d..8be249cd1 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinKeyboardInput.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinKeyboardInput.java @@ -24,13 +24,13 @@ public abstract class MixinKeyboardInput extends Input { @Shadow @Final private GameOptions settings; - @Inject(method = "tick(ZF)V", at = @At( + @Inject(method = "tick", at = @At( value = "FIELD", target = "Lnet/minecraft/client/input/KeyboardInput;playerInput:Lnet/minecraft/util/PlayerInput;", ordinal = 0, shift = Shift.AFTER, opcode = Opcodes.PUTFIELD)) - private void customMovement(boolean val1, float f, CallbackInfo ci) + private void customMovement(CallbackInfo ci) { if (FeatureToggle.TWEAK_MOVEMENT_KEYS.getBooleanValue()) { diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinServerChunkLoadingManager.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinServerChunkLoadingManager.java index 995be1832..ccacc13ef 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinServerChunkLoadingManager.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinServerChunkLoadingManager.java @@ -12,7 +12,7 @@ public abstract class MixinServerChunkLoadingManager { @Inject(method = "unloadChunks", cancellable = true, at = @At(value = "FIELD", - target = "Lnet/minecraft/server/world/ServerChunkLoadingManager;chunkHolders:Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;")) + target = "Lnet/minecraft/server/world/ServerChunkLoadingManager;currentChunkHolders:Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;")) private void tweakeroo_disableSaving20ChunksEveryTick(BooleanSupplier shouldKeepTicking, CallbackInfo ci) { if (Configs.Disable.DISABLE_CONSTANT_CHUNK_SAVING.getBooleanValue()) diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWeatherRendering.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWeatherRendering.java index 6ee9560ec..3048a9569 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWeatherRendering.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWeatherRendering.java @@ -1,6 +1,6 @@ package fi.dy.masa.tweakeroo.mixin; -import net.minecraft.client.render.LightmapTextureManager; +import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.WeatherRendering; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -14,9 +14,9 @@ @Mixin(WeatherRendering.class) public class MixinWeatherRendering { - @Inject(method = "renderPrecipitation(Lnet/minecraft/world/World;Lnet/minecraft/client/render/LightmapTextureManager;IFLnet/minecraft/util/math/Vec3d;)V", + @Inject(method = "renderPrecipitation(Lnet/minecraft/world/World;Lnet/minecraft/client/render/VertexConsumerProvider;IFLnet/minecraft/util/math/Vec3d;)V", at = @At("HEAD"), cancellable = true) - private void cancelWeatherRender(World world, LightmapTextureManager lightmapTextureManager, int ticks, float delta, Vec3d pos, CallbackInfo ci) + private void cancelWeatherRender(World world, VertexConsumerProvider vertexConsumerProvider, int ticks, float delta, Vec3d pos, CallbackInfo ci) { if (Configs.Disable.DISABLE_RAIN_EFFECTS.getBooleanValue()) { diff --git a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWorldRenderer.java b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWorldRenderer.java index 136c64332..a378c9700 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWorldRenderer.java +++ b/src/main/java/fi/dy/masa/tweakeroo/mixin/MixinWorldRenderer.java @@ -31,7 +31,7 @@ public abstract class MixinWorldRenderer @Unique private int lastUpdatePosZ; @Inject(method = "renderWeather", at = @At("HEAD"), cancellable = true) - private void cancelRainRender(FrameGraphBuilder frameGraphBuilder, LightmapTextureManager lightmapTextureManager, Vec3d vec3d, float f, Fog fog, CallbackInfo ci) + private void cancelRainRender(FrameGraphBuilder frameGraphBuilder, Vec3d vec3d, float f, Fog fog, CallbackInfo ci) { if (Configs.Disable.DISABLE_RAIN_EFFECTS.getBooleanValue()) { @@ -41,9 +41,8 @@ private void cancelRainRender(FrameGraphBuilder frameGraphBuilder, LightmapTextu @Inject(method = "render", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", args = "ldc=terrain_setup")) - private void preSetupTerrain(ObjectAllocator objectAllocator, RenderTickCounter tickCounter, boolean bl, - Camera camera, GameRenderer gameRenderer, LightmapTextureManager lightmapTextureManager, - Matrix4f positionMatrix, Matrix4f projectionMatrix, CallbackInfo ci) + private void preSetupTerrain(ObjectAllocator allocator, RenderTickCounter tickCounter, boolean renderBlockOutline, + Camera camera, GameRenderer gameRenderer, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (FeatureToggle.TWEAK_FREE_CAMERA.getBooleanValue()) { @@ -53,9 +52,8 @@ private void preSetupTerrain(ObjectAllocator objectAllocator, RenderTickCounter @Inject(method = "render", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", args = "ldc=compile_sections")) - private void postSetupTerrain(ObjectAllocator objectAllocator, RenderTickCounter tickCounter, boolean bl, - Camera camera, GameRenderer gameRenderer, LightmapTextureManager lightmapTextureManager, - Matrix4f positionMatrix, Matrix4f projectionMatrix, CallbackInfo ci) + private void postSetupTerrain(ObjectAllocator allocator, RenderTickCounter tickCounter, boolean renderBlockOutline, + Camera camera, GameRenderer gameRenderer, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { CameraUtils.setFreeCameraSpectator(false); } diff --git a/src/main/java/fi/dy/masa/tweakeroo/renderer/RenderUtils.java b/src/main/java/fi/dy/masa/tweakeroo/renderer/RenderUtils.java index 8a6e3640d..baee32531 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/renderer/RenderUtils.java +++ b/src/main/java/fi/dy/masa/tweakeroo/renderer/RenderUtils.java @@ -206,8 +206,8 @@ else if (context.nbt() != null) horseInv.setStack(1, inv.getStack(0)); InventoryOverlay.renderInventoryBackground(type, xInv, yInv, 1, 2, mc); - /* - if (type == InventoryOverlay.InventoryRenderType.LLAMA) + + if (type == InventoryOverlay.InventoryRenderType.LLAMA) { InventoryOverlay.renderLlamaArmorBackgroundSlots(horseInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, drawContext); } @@ -215,7 +215,7 @@ else if (context.nbt() != null) { InventoryOverlay.renderHorseArmorBackgroundSlots(horseInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, drawContext); } - */ + InventoryOverlay.renderInventoryStacks(type, horseInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, 1, 0, 2, mc, drawContext); xInv += 32 + 4; } @@ -223,12 +223,12 @@ else if (context.nbt() != null) if (totalSlots > 0) { InventoryOverlay.renderInventoryBackground(type, xInv, yInv, props.slotsPerRow, totalSlots, mc); - /* + if (type == InventoryOverlay.InventoryRenderType.BREWING_STAND) { InventoryOverlay.renderBrewerBackgroundSlots(inv, xInv, yInv, drawContext); } - */ + InventoryOverlay.renderInventoryStacks(type, inv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, props.slotsPerRow, firstSlot, totalSlots, lockedSlots, mc, drawContext); } } @@ -255,7 +255,7 @@ else if (context.nbt() != null) ItemStack wolfArmor = ((WolfEntity) entityLivingBase).getBodyArmor(); wolfInv.setStack(0, wolfArmor != null && !wolfArmor.isEmpty() ? wolfArmor : ItemStack.EMPTY); InventoryOverlay.renderInventoryBackground(type, xInv, yInv, 1, 2, mc); - //InventoryOverlay.renderWolfArmorBackgroundSlots(wolfInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, drawContext); + InventoryOverlay.renderWolfArmorBackgroundSlots(wolfInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, drawContext); InventoryOverlay.renderInventoryStacks(type, wolfInv, xInv + props.slotOffsetX, yInv + props.slotOffsetY, 1, 0, 2, mc, drawContext); } diff --git a/src/main/java/fi/dy/masa/tweakeroo/tweaks/PlacementTweaks.java b/src/main/java/fi/dy/masa/tweakeroo/tweaks/PlacementTweaks.java index 3f289e104..8312bc30c 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/tweaks/PlacementTweaks.java +++ b/src/main/java/fi/dy/masa/tweakeroo/tweaks/PlacementTweaks.java @@ -8,6 +8,7 @@ import fi.dy.masa.tweakeroo.config.Configs; import fi.dy.masa.tweakeroo.config.FeatureToggle; import fi.dy.masa.tweakeroo.config.Hotkeys; +import fi.dy.masa.tweakeroo.mixin.IMixinAbstractBlock; import fi.dy.masa.tweakeroo.util.InventoryUtils; import fi.dy.masa.tweakeroo.util.*; import net.minecraft.block.Block; @@ -335,7 +336,7 @@ public static ActionResult onProcessRightClickBlock( if (FeatureToggle.TWEAK_PLACEMENT_REST_FIRST.getBooleanValue() && stateClickedOn == null) { BlockState state = world.getBlockState(posIn); - stackClickedOn = state.getBlock().getPickStack(world, posIn, state); + stackClickedOn = ((IMixinAbstractBlock) state.getBlock()).tweakeroo_getPickStack(world, posIn, state, false); stateClickedOn = state; } @@ -606,7 +607,7 @@ private static boolean canPlaceBlockAgainst(World world, BlockPos pos, PlayerEnt if (stackClickedOn.isEmpty() == false) { - ItemStack stack = state.getBlock().getPickStack(world, pos, state); + ItemStack stack = ((IMixinAbstractBlock) state.getBlock()).tweakeroo_getPickStack(world, pos, state, false); if (fi.dy.masa.malilib.util.InventoryUtils.areStacksEqual(stackClickedOn, stack) == false) { @@ -625,7 +626,7 @@ private static boolean canPlaceBlockAgainst(World world, BlockPos pos, PlayerEnt if (FeatureToggle.TWEAK_PLACEMENT_REST_HAND.getBooleanValue()) { BlockState state = world.getBlockState(pos); - ItemStack stackClicked = state.getBlock().getPickStack(world, pos, state); + ItemStack stackClicked = ((IMixinAbstractBlock) state.getBlock()).tweakeroo_getPickStack(world, pos, state, false); ItemStack stackHand = player.getStackInHand(hand); return fi.dy.masa.malilib.util.InventoryUtils.areStacksEqual(stackClicked, stackHand); @@ -895,7 +896,7 @@ private static ActionResult handleFlexibleBlockPlacement( Hand hand, @Nullable HitPart hitPart) { - Direction facing = Direction.fromHorizontal(MathHelper.floor((playerYaw * 4.0F / 360.0F) + 0.5D) & 3); + Direction facing = Direction.fromHorizontalQuarterTurns(MathHelper.floor((playerYaw * 4.0F / 360.0F) + 0.5D) & 3); Direction facingOrig = facing; float yawOrig = player.getYaw(); @@ -912,7 +913,7 @@ else if (hitPart == HitPart.RIGHT) facing = facing.rotateYClockwise(); } - float yaw = facing.asRotation(); + float yaw = facing.getPositiveHorizontalDegrees(); float pitch = player.getPitch(); player.setYaw(yaw); player.networkHandler.sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(yaw, pitch, player.isOnGround(), false)); diff --git a/src/main/java/fi/dy/masa/tweakeroo/util/DummyMovementInput.java b/src/main/java/fi/dy/masa/tweakeroo/util/DummyMovementInput.java index 451a939d4..69572d676 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/util/DummyMovementInput.java +++ b/src/main/java/fi/dy/masa/tweakeroo/util/DummyMovementInput.java @@ -11,7 +11,7 @@ public DummyMovementInput(GameOptions options) } @Override - public void tick(boolean sneaking, float f) + public void tick() { // NO-OP } diff --git a/src/main/java/fi/dy/masa/tweakeroo/util/InventoryUtils.java b/src/main/java/fi/dy/masa/tweakeroo/util/InventoryUtils.java index 752fc16cd..cc6c98cc4 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/util/InventoryUtils.java +++ b/src/main/java/fi/dy/masa/tweakeroo/util/InventoryUtils.java @@ -55,6 +55,7 @@ import fi.dy.masa.tweakeroo.Tweakeroo; import fi.dy.masa.tweakeroo.config.Configs; import fi.dy.masa.tweakeroo.config.FeatureToggle; +import fi.dy.masa.tweakeroo.mixin.IMixinAbstractBlock; import fi.dy.masa.tweakeroo.tweaks.PlacementTweaks; public class InventoryUtils @@ -1342,7 +1343,7 @@ public static void switchToPickedBlock() { BlockPos pos = ((BlockHitResult) trace).getBlockPos(); BlockState stateTargeted = world.getBlockState(pos); - ItemStack stack = stateTargeted.getBlock().getPickStack(world, pos, stateTargeted); + ItemStack stack = ((IMixinAbstractBlock) stateTargeted.getBlock()).tweakeroo_getPickStack(world, pos, stateTargeted, false); if (stack.isEmpty() == false && fi.dy.masa.malilib.util.InventoryUtils.areStacksEqual(stack, player.getMainHandStack()) == false) @@ -1363,7 +1364,7 @@ public static void switchToPickedBlock() if (isCreative) { - inventory.addPickBlock(stack); + inventory.swapStackWithHotbar(stack); mc.interactionManager.clickCreativeStack(player.getStackInHand(Hand.MAIN_HAND), 36 + inventory.selectedSlot); } else diff --git a/src/main/java/fi/dy/masa/tweakeroo/util/RayTraceUtils.java b/src/main/java/fi/dy/masa/tweakeroo/util/RayTraceUtils.java index 54d60e2af..7c4fff871 100644 --- a/src/main/java/fi/dy/masa/tweakeroo/util/RayTraceUtils.java +++ b/src/main/java/fi/dy/masa/tweakeroo/util/RayTraceUtils.java @@ -168,7 +168,7 @@ public static HitResult getRayTraceFromEntity(World worldIn, Entity entityIn, bo } if (ctx != null && - (ctx.inv() != null && !ctx.inv().isEmpty())) + (ctx.inv() != null && !ctx.inv().isEmpty())) { lastBlockEntityContext = Pair.of(pos, ctx); return ctx; @@ -208,7 +208,7 @@ else if (trace.getType() == HitResult.Type.ENTITY) } if (ctx != null && - (ctx.inv() != null && !ctx.inv().isEmpty())) + (ctx.inv() != null && !ctx.inv().isEmpty())) { lastEntityContext = Pair.of(entity.getId(), ctx); return ctx; @@ -370,8 +370,8 @@ else if (inv != null && nbt.contains(NbtKeys.SADDLE)) } // Fix for empty Villager/Piglin inv else if (inv != null && inv.size() == 8 && - nbt.contains(NbtKeys.INVENTORY) && - !nbt.getList(NbtKeys.INVENTORY, Constants.NBT.TAG_COMPOUND).isEmpty()) + nbt.contains(NbtKeys.INVENTORY) && + !nbt.getList(NbtKeys.INVENTORY, Constants.NBT.TAG_COMPOUND).isEmpty()) { inv2 = InventoryUtils.getNbtInventory(nbt, 8, entity.getRegistryManager()); inv = null; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 104affb0c..e3685f7de 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -33,7 +33,7 @@ ], "depends": { - "minecraft": ">=1.21.2 <=1.21.3", - "malilib": ">=0.22.3" + "minecraft": "1.21.4", + "malilib": ">=0.23.0-sakura.1" } }