Dynamic Skins
Активный0.0
Установок
Последнее обновление
Версии
Dynamic Skins
Модификация Dynamic Skins позволяет автоматически менять скин игрока в зависимости от различных условий в игре. Важно отметить, что все изменения отображаются только на вашем клиенте - другие игроки будут видеть стандартные скины.
Начало работы
После установки мода и первого запуска игры в папке конфигураций появится файл dynamic-skins.js. Если вы не знаете расположение этой папки, мод выведет полный путь к файлу в логах при первом запуске.
Мод предоставляет простой JavaScript API для создания условий смены скинов. Вы можете настроить замену скина при различных игровых ситуациях, например, когда персонаж находится в воде или использует определенные предметы.
Пример конфигурации:
if (
data.target.player.profile.username === data.client.player.profile.username && // Заменяем только свой скин
data.client.player.isTouchingWater &&
data.client.player.isSwimming
) {
skin.set("minecraft:textures/entity/zombie/drowned_outer_layer.png");
}
Другой пример:
// Смена скина при использовании трезубца
if (data.target.player.equipment.mainhand === "minecraft:trident") {
skin.set("minecraft:textures/entity/zombie/drowned_outer_layer.png");
}
Конфигурация выполняется для каждого отображаемого игрока в каждом кадре.
Кэширование конфигурации
Настройки загружаются один раз при инициализации мода и сохраняются в памяти. Для применения изменений в конфигурационном файле необходимо выполнить команду /dynamic-skins cache reload или использовать кнопку "Перезагрузить конфигурацию" в меню модов.
Обработка ошибок
При возникновении ошибок в работе Dynamic Skins в логах появится соответствующее сообщение. Для просмотра подробной информации об ошибке используйте команду /dynamic-skins error. Чтобы возобновить работу мода после ошибки, выполните /dynamic-skins error reset или нажмите кнопку "Перезапуск" в меню модов.
Пользовательские скины
В текущей версии мод поддерживает установку скинов через ресурсные локации формата пространство_имен:путь/к/изображению.png. Для использования собственных скинов создайте ресурспак со следующей структурой:
|- pack.mcmeta
|- pack.png
|- assets
|- skins
|- my_skin.png
После этого можно использовать команду skin.set('skins:my_skin.png').
Продвинутые возможности
Мод поддерживает сохранение состояния между кадрами и игроками, что позволяет создавать анимированные скины с последовательной сменой кадров. Учтите, что длинные циклы анимации могут снизить производительность.
Пример анимированного скина:
if (
data.target.player.profile.username === data.client.player.profile.username
) {
state.set(
"cycle",
((state.get("cycle") === null ? 0 : state.get("cycle")) % 32) + 1
);
const s = state.get("cycle").toString();
skin.set(skins:skin${"0".repeat(2 - s.length)}${s}.png);
}
Этот код будет циклически менять скин от skins:01.png до skins:32.png.

API справочник
Skin
value: stringset(value: string): void
Data
client: ClientDatatarget: TargetData
ClientData
player: PlayerData
TargetData
player: PlayerData
PlayerData
profile: ProfileDataequipment: EquipmentDataisTouchingWater: booleanisClimbing: booleanisSwimming: booleanisSneaking: booleanisOnFire: booleanisInLava: booleanisSprinting: boolean
ProfileData
username: string
EquipmentData
head: stringchest: stringlegs: stringfeet: stringmainhand: stringoffhand: string
State
set(key: string, value: any): voidget(key: string): any