Add setting to hide villager profession in <= 1.13.2 (#647)

* Add toggle for bubble pop sound/icons

* Don't apply these settings by default, instead use boolean setting

* Revert how villagers looked prior to 1.14

Undo weird formatting in viafabricplus.mixins.json

Try to fix it again

Re-add mixin for this PR

* Add toggle/setting for reverting villager skins to how they looked prior to 1.14
This commit is contained in:
lowercasebtw 2024-12-07 16:38:18 -05:00 committed by GitHub
parent 757ef90cb3
commit af6caab5b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,44 @@
/*
* This file is part of ViaFabricPlus - https://github.com/FlorianMichael/ViaFabricPlus
* Copyright (C) 2021-2024 FlorianMichael/EnZaXD <florian.michael07@gmail.com> and RK_01/RaphiMC
* Copyright (C) 2023-2024 contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
import de.florianmichael.viafabricplus.settings.impl.VisualSettings;
import net.minecraft.client.render.entity.feature.VillagerClothingFeatureRenderer;
import net.minecraft.village.VillagerData;
import net.minecraft.village.VillagerProfession;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(VillagerClothingFeatureRenderer.class)
public abstract class MixinVillagerClothingFeatureRenderer {
@Redirect(method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/entity/state/LivingEntityRenderState;FF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/village/VillagerData;getProfession()Lnet/minecraft/village/VillagerProfession;"))
private VillagerProfession revertVillagerVisual(VillagerData instance) {
if (VisualSettings.global().revertVillagerSkins.getValue()) {
return VillagerProfession.NONE;
} else {
return instance.getProfession();
}
}
}

View File

@ -57,6 +57,8 @@ public class VisualSettings extends SettingGroup {
public final BooleanSetting hideEmptyBubbleIcons = new BooleanSetting(this, Text.translatable("visual_settings.viafabricplus.hide_empty_bubble_icons"), false); public final BooleanSetting hideEmptyBubbleIcons = new BooleanSetting(this, Text.translatable("visual_settings.viafabricplus.hide_empty_bubble_icons"), false);
public final BooleanSetting revertVillagerSkins = new BooleanSetting(this, Text.translatable("visual_settings.viafabricplus.revert_villager_skins"), false);
// 1.21 -> 1.20.5 // 1.21 -> 1.20.5
public final VersionedBooleanSetting hideDownloadTerrainScreenTransitionEffects = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.hide_download_terrain_screen_transition_effects"), VersionRange.andOlder(ProtocolVersion.v1_20_5)); public final VersionedBooleanSetting hideDownloadTerrainScreenTransitionEffects = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.hide_download_terrain_screen_transition_effects"), VersionRange.andOlder(ProtocolVersion.v1_20_5));

View File

@ -88,6 +88,7 @@
"visual_settings.viafabricplus.hide_signature_indicator": "Hide signature indicator", "visual_settings.viafabricplus.hide_signature_indicator": "Hide signature indicator",
"visual_settings.viafabricplus.remove_bubble_pop_sound": "Remove bubble pop sound", "visual_settings.viafabricplus.remove_bubble_pop_sound": "Remove bubble pop sound",
"visual_settings.viafabricplus.hide_empty_bubble_icons": "Hide empty bubble icons", "visual_settings.viafabricplus.hide_empty_bubble_icons": "Hide empty bubble icons",
"visual_settings.viafabricplus.revert_villager_skins": "Revert villager skins",
"visual_settings.viafabricplus.hide_download_terrain_screen_transition_effects": "Hide download terrain screen transition effects", "visual_settings.viafabricplus.hide_download_terrain_screen_transition_effects": "Hide download terrain screen transition effects",
"visual_settings.viafabricplus.replace_petrified_oak_slab": "Replace petrified oak slab texture with the 'unknown' texture", "visual_settings.viafabricplus.replace_petrified_oak_slab": "Replace petrified oak slab texture with the 'unknown' texture",
"visual_settings.viafabricplus.always_render_crosshair": "Always render crosshair", "visual_settings.viafabricplus.always_render_crosshair": "Always render crosshair",

View File

@ -122,6 +122,7 @@
"fixes.minecraft.entity.MixinPlayerEntityRenderer", "fixes.minecraft.entity.MixinPlayerEntityRenderer",
"fixes.minecraft.entity.MixinSkeletonHorseEntity", "fixes.minecraft.entity.MixinSkeletonHorseEntity",
"fixes.minecraft.entity.MixinSquidEntity", "fixes.minecraft.entity.MixinSquidEntity",
"fixes.minecraft.entity.MixinVillagerClothingFeatureRenderer",
"fixes.minecraft.entity.MixinWolfEntity", "fixes.minecraft.entity.MixinWolfEntity",
"fixes.minecraft.entity.MixinZombieVillagerEntity", "fixes.minecraft.entity.MixinZombieVillagerEntity",
"fixes.minecraft.item.MixinAxeItem", "fixes.minecraft.item.MixinAxeItem",
@ -228,4 +229,4 @@
"overwrites": { "overwrites": {
"requireAnnotations": true "requireAnnotations": true
} }
} }