Download Revelationary JS — Minecraft Mods — MetaMods

Revelationary JS

Active

Downloads

2

Last update

1 year ago

Versions

1.20.1
Client and server
Fabric
Forge
Game mechanics
Control
Utils
Addons

Revelationary JS

The Revelationary JS modification provides a powerful toolkit for creating block and item hiding systems in Minecraft using the Revelationary API through KubeJS. This allows developers to create progressive content reveal systems where certain elements become visible only after completing specific achievements.

Main Features

With this addon, you can configure the masking of blocks and items, replacing their appearance and names until the player meets the necessary conditions. This opens up possibilities for creating complex progression systems, puzzles, and gradual world discovery.

Usage Examples

Server Scripts

ServerEvents.revelation(event => {
    event.registerFromJson({
        "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"
        },
        "advancement": "minecraft:nether/root"
    })

    event.register("minecraft:adventure/root", revBuilder => {
        revBuilder
            .cloakBlockState("minecraft:grass", "minecraft:beacon")
            .cloakItem("minecraft:nether_star", "minecraft:gunpowder")
            .cloakItem("minecraft:diamond_ore", "minecraft:stone")
            .replaceItemName("minecraft:nether_star", "block.minecraft.poppy")
            .replaceItemName("minecraft:diamond_ore", "Probably Stone?")
            .replaceItemName("minecraft:grass", "block.minecraft.dandelion")
            .replaceItemName("minecraft:gold_ore", "Since Gold Ore is not in the items tag above, you should never see this")
            .replaceBlockName("minecraft:grass", "block.minecraft.dandelion")
    })

    let count = 0;
    event.onReveal((doneAdvancements, revealedBlocks, revealedItems, isJoinPacket) => {
        console.log("Hey " + (++count))
    })
})

Registering Revealable Blocks and Items

// Registering a cloaked block
StartupEvents.registry("block", event => {
    event
        .create("revjs:example_block", "cloaked")
        .cloakAdvancement("story/smelt_iron")
        .cloakedBlockTranslation("I'm stone stairs!")
        // Or just 'cloakBlock("stone_stiars")'
        .blockStateCloak(Block.id("revjs:example_block"), Block.id("stone_stairs", { "facing": "west" }))
        .onCloak((cloakedBlock, cloakAdvancement, cloakBlock) => { })
        .onUnCloak((cloakedBlock, cloakAdvancement, cloakBlock) => { })
})

// Registering a cloaked item
StartupEvents.registry("item", event => {
    event
        .create("revjs:example_item", "cloaked")
        .cloakAdvancement("story/smelt_iron")
        .cloakedItemTranslation("I'm diamond!")
        .cloakItem("diamond")
        .onCloak((cloakedItem, cloakAdvancement, cloakItem) => { })
        .onUnCloak((cloakedItem, cloakAdvancement, cloakItem) => { })
})
Project members
westernat233

westernat233

Developer

Westernat

Westernat

Created: 30 Jan 2024

ID: 18846