Cobblemon Firework Capsules
Выпускайте своих покемонов с эффектом фейерверков и пользовательских стикеров!
Основы
Рецепт покебол-капсулы
Добавление фейерверков
Покебол-капсулы можно комбинировать с любым количеством Firework Stars.
Рецепт станции для капсул
Для установки капсулы на покемона используется Capsule Station.
Стикеры
Рецепт стикера
Стикеры создаются из Бумаги + Пороха + ингредиента.
В версии 1.0.0 доступно 18 стикеров (по одному для каждого типа), создаваемых с использованием соответствующих типных камней.
Модификация стикеров
Стикеры можно изменять с помощью красителей, Алмаза или Светокаменной пыли для добавления эффектов (большинство стикеров не оптимизированы под эти модификации).
Комбинирование стикеров
Стикеры можно объединять с покебол-капсулами вместе с Firework Stars для создания различных эффектов.
Поддержка аддонов
Система использует собственный движок частиц, расширяющий стандартную систему фейерверков Minecraft, что позволяет интегрировать пользовательские частицы.
Класс StickerExplosion
Требуемые параметры класса:
ResourceLocation id;
IntList colors;
IntList fadeColors;
boolean hasTrail;
boolean hasTwinkle;
Класс стикера
Стикер должен быть зарегистрирован с соответствующим StickerExplosion:
new StickerItem(new StickerExplosion(...));
Функция пользовательских частиц
@FunctionalInterface
public interface CustomParticleFunction {
void accept(ClientLevel clientLevel, double x, double y, double z, float rot, ParticleEngine particleEngine, StickerExplosion explosion, float scale, double scaleFactor);
}
Регистрация стикеров
- Fabric
public class ExampleClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
StickerRegistryEvent.EVENT.register((event) -> {
event.register(StickerExplosion, CustomParticleFunction);
});
}
}
- NeoForge
@EventBusSubscriber(value = Dist.CLIENT, modid = Example.MOD_ID, bus = EventBusSubscriber.Bus.MOD)
public static class ClientEvents {
@SubscribeEvent
public static void registerStickers(StickerRegistryEvent event) {
event.register(StickerExplosion, CustomParticleFunction);
}
}