minecraft-src/net/minecraft/client/gui/screens/options/SkinCustomizationScreen.java
2025-07-04 02:00:41 +03:00

36 lines
1.2 KiB
Java

package net.minecraft.client.gui.screens.options;
import java.util.ArrayList;
import java.util.List;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Options;
import net.minecraft.client.gui.components.AbstractWidget;
import net.minecraft.client.gui.components.CycleButton;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.PlayerModelPart;
@Environment(EnvType.CLIENT)
public class SkinCustomizationScreen extends OptionsSubScreen {
private static final Component TITLE = Component.translatable("options.skinCustomisation.title");
public SkinCustomizationScreen(Screen lastScreen, Options options) {
super(lastScreen, options, TITLE);
}
@Override
protected void addOptions() {
List<AbstractWidget> list = new ArrayList();
for (PlayerModelPart playerModelPart : PlayerModelPart.values()) {
list.add(
CycleButton.onOffBuilder(this.options.isModelPartEnabled(playerModelPart))
.create(playerModelPart.getName(), (cycleButton, boolean_) -> this.options.setModelPart(playerModelPart, boolean_))
);
}
list.add(this.options.mainHand().createButton(this.options));
this.list.addSmall(list);
}
}