modsmith Войти Войти Рус / Eng

Revelationary

revelationary · 544391 загрузок · LGPL-3.0-only

клиент: required · сервер: required (заявлено автором мода)

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

Описание

Обзор

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

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

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

Откровения

«[а] откровение — это раскрытие или раскрытие некоторой формы истины или знания»

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

С помощью 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"
  }
}

Регистрация блока или предмета, «знающего об открытии»

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() { }
	
}

Регистрация обратного вызова при возникновении откровений

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)) {
                ...
                <I dunno. Like show a popup or something. You tell me>
                ...
                break
            }
        }
    }
});

Дискорд

Вы найдете много полезных людей на Discord Spectrum. Вокруг всегда дружелюбные и отзывчивые люди. Если хотите, тоже покатайтесь!

https://discord.com/invite/EXU9XFXT8a

Версии (41)

ВерсияMinecraftЗагрузчикиФайл
1.5.2+1.21.1 1.21.1 neoforge скачать
1.5.1+1.21.1 1.21.1 neoforge скачать
1.5.1+26.2 26.2 fabric скачать
1.5.0+1.21.1 1.21.1 neoforge скачать
1.4.2+1.21.1 1.21.1 neoforge скачать
1.5.1+26.1 26.1, 26.1.1 fabric скачать
1.4.1+1.21.1 1.21.1 neoforge скачать
1.5.1+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.5.0+1.21.5 1.21.5 fabric скачать
1.4.0+1.21.1 1.21.1 neoforge скачать
1.3.9+1.21.1 1.21.1 fabric скачать
1.3.7+1.20.5 1.21.5 fabric скачать
1.3.8+1.21.1 1.21.1 fabric скачать
1.4.0+1.21.4 1.21.4 fabric скачать
1.3.9+1.20.1 1.20.1 fabric скачать
1.3.8+1.20.1 1.20.1 fabric, quilt скачать
1.3.7+1.20.5 1.20.5, 1.20.6 fabric, quilt скачать
1.3.7+1.20.1 1.20.1 fabric скачать
1.3.6+1.20.1 1.20.1 fabric, quilt скачать
1.3.5 1.20.2 fabric, quilt скачать
1.3.5+1.19.4 1.19.4 fabric, quilt скачать
1.3.5+1.20.1 1.20.1 fabric скачать
1.3.5 1.19.3 fabric, quilt скачать
1.3.5 1.19.2 fabric, quilt скачать
1.3.3 1.19.3 fabric, quilt скачать
1.3.3 1.19.2 fabric скачать
1.3.2 1.19.3 fabric скачать
1.3.2 1.19.2 fabric скачать
1.3.2 1.19 fabric скачать
1.3.0 1.19.2 fabric скачать
1.3.0 1.19.3 fabric скачать
1.2.0 1.19.3 fabric скачать
1.2.0 1.19.2 fabric скачать
1.1.0 1.18.2 fabric скачать
1.1.0 1.19.2 fabric скачать
1.0.2+1.19.2 1.19.2 fabric скачать
1.0.2 1.18.2 fabric скачать
1.0.1+1.19.2 1.19.2 fabric скачать
1.0.1+1.18.2 1.18.2 fabric скачать
1.0.0+1.19.2 1.19.2 fabric скачать
1.0.0 1.18.2 fabric скачать

Страница на Modrinth →