
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: string
set(value: string): void
Data
client: ClientData
target: TargetData
ClientData
player: PlayerData
TargetData
player: PlayerData
PlayerData
profile: ProfileData
equipment: EquipmentData
isTouchingWater: boolean
isClimbing: boolean
isSwimming: boolean
isSneaking: boolean
isOnFire: boolean
isInLava: boolean
isSprinting: boolean
ProfileData
username: string
EquipmentData
head: string
chest: string
legs: string
feet: string
mainhand: string
offhand: string
State
set(key: string, value: any): void
get(key: string): any