Перейти к содержимому

Revelationary

Система раскрытия блоков и предметов на основе данных. Открывай по мере игры!

FabricNeoForgeQuilt
Загрузчики
FabricNeoForgeQuilt
Скачиваний на Modrinth
546 тыс.
Подписчиков на Modrinth
63
версия
41
Обновлён
6 сентября 20266 сент.
Опубликован
в 2022
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 4 модам. Скачайте её, если этого требует другой мод.
Icon · свайп

Коротко о моде

Библиотека — нужна другим модам: её требуют 4
Работает на Fabric, NeoForge и Quilt
Для Minecraft 26.1–26.1.1, 26.2 …
Нужен и в игре, и на сервере
Последняя версия — 1.5.2+1.21.1 от 6 сентября 2026
Лицензия LGPL-3.0-only — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.21.4–1.21.8, 26.1–26.1.1, 26.2 …
Описание переведено автоматическиПоказать оригинал (EN)

Обзор

Управляемая данными система раскрытия блоков и предметов. Открывай по мере игры!

Revelationary добавляет способ ограничивать обнаружение новых блоков в мире через датапак или API (для других модов). С помощью Revelationary ты можешь выстроить прогрессию своих паков / модов так, чтобы игрок не чувствовал себя перегруженным, начиная новое прохождение. Он сможет воспринимать эти блоки из генерации мира только после того, как разблокирует определённое достижение, делающее блок видимым для него.

Пример: Игрок видит определённую руду как камень. Когда он побеждает enderdragon, он теперь может видеть и добывать твою руду в мире — она была там с самого начала. Индивидуально для каждого игрока и очень производительно.

Revelations

"[a] revelation is the revealing or disclosing of some form of truth or knowledge"

Если ты разработчик мода или модпака, основанного на прогрессии, ты попал по адресу.

С Revelationary ты можешь использовать датапаки или Revelation API, чтобы постепенно раскрывать блоки в мире по мере прогресса игрока. Обычная расщелина, заполненная камнем, может раскрыться как кишащая жизнью и рудой, когда игрок побеждает босса или достигает важной вехи.

Пока у игрока нет необходимого прогресса, блоки и предметы, которые ты регистрируешь через Revelationary с помощью API или датапака, будут иметь лишь загадочные названия, а в случае блоков в мире — выпадать те же дропы, что и блок, под который они замаскированы, обеспечивая игроку бесшовный опыт без наводнения неизвестными ресурсами, которые он не может использовать в начале. Вместо этого ты можешь вводить ресурсы по мере необходимости.

Ограничения

Помимо внешнего вида и дропов, замаскированные блоки сохраняют все свойства оригинального блока: хитбокс, пропускает ли через себя свет и всё остальное. Учитывай это при поиске подходящих кандидатов. Идеальной маскировкой для твоей руды будет камень или глубинный сланец, так как они имеют много общего. Аналогично ты можешь замаскировать своё неуловимое растение под мак: у обоих маленький хитбокс, и игроки могут проходить сквозь них.

Если ты программист, ты можешь использовать Revelation API, чтобы динамически менять свойства своих блоков в зависимости от того, видимы они игроку или нет. Так ты можешь даже замаскировать свой цветок под воздух: придав ему пустой хитбокс в замаскированном состоянии, твои игроки могут даже не знать, что он там, пока не смогут его увидеть!

Множество примеров для датапаков и API ищи в вики Revelationary: https://github.com/DaFuqs/Revelationary/wiki

Регистрация Revelations через датапак

Должны быть размещены в папке resources/data/<<mod_id>>/revelations

{
  "advancement": "spectrum:milestones/reveal_quitoxic_reeds",
  "block_states": {
    "minecraft:grass": "minecraft:beacon",
    "minecraft:tall_grass": "minecraft:obsidian",
    "minecraft:tall_grass[half=upper]": "minecraft:netherite_block"
  },
  "items": {
    "minecraft:nether_star": "minecraft:gunpowder"
  }
}

Регистрация блока или предмета, "осведомлённого о revelation"

public class CloakedItem extends Item implements RevelationAware {
    
    Identifier cloakAdvancementIdentifier;
    Item cloakItem;
    
    public CloakedItem(Settings settings, Identifier cloakAdvancementIdentifier, Item cloakItem) {
        super(settings);
        this.cloakAdvancementIdentifier = cloakAdvancementIdentifier;
        this.cloakItem = cloakItem;
        
        registerCloak();
    }
    
    @Override
    public Identifier getCloakAdvancementIdentifier() {
        return cloakAdvancementIdentifier;
    }
    
    @Override
    public Hashtable<BlockState, BlockState> getBlockStateCloaks() {
        return new Hashtable<>();
    }
    
    @Override
    public Pair<Item, Item> getItemCloak() {
        return new Pair<>(this, cloakItem);
    }
    
    @Override
    public void onCloak() { }
    
    @Override
    public void onUncloak() { }
    
}

## Регистрация колбэка при наступлении Revelations

```java
RevelationHolder.registerRevelationCallback(new RevelationHolder.UncloakCallback() {
    @Override
    public void trigger(List<Identifier> advancements, List<Block> blocks, List<Item> items) {
        for(Block block : blocks) {
            if(Registry.BLOCK.getId(block).getNamespace().equals(MOD_ID)) {
                ...
                <Не знаю. Типа показать попап что ли. Тебе решать>
                ...
                break
            }
        }
    }
});

Discord

На Discord-сервере Spectrum ты найдёшь много полезных людей. Там всегда есть дружелюбные и готовые помочь. Заглядывай, если хочешь!

https://discord.com/invite/EXU9XFXT8a

Частые вопросы

Как установить Revelationary?

Установите Fabric под свою версию Minecraft, скачайте Revelationary под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Revelationary?

У Revelationary есть сборки для Minecraft 1.21.1, 1.21.4–1.21.8, 26.1–26.1.1, 26.2 ….

Нужен ли Revelationary на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
GNU Lesser General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее