Skip to content

Commit b268622

Browse files
authored
Update README.md
1 parent f8a67b3 commit b268622

File tree

1 file changed

+13
-76
lines changed

1 file changed

+13
-76
lines changed

README.md

Lines changed: 13 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,21 @@
1-
![Revelationary Banner](/images/banner.png "Revelationary's Banner")
1+
<img src="/images/icon.png" alt="Revelationary's Icon" width="200" />
22

3-
## Overview
3+
# Revelations
4+
"[a] revelation is the revealing or disclosing of some form of truth or knowledge"
45

6+
If you are the designer of a progression based mod or modpack you have come to the right place.
57

6-
## Registering Revelations via Data Pack
7-
Have to be placed in the folder `resources/data/<<mod_id>>/revelations`
8+
With Revelationary, you are able to use Data Packs or the Revelation API to gradually reveal blocks in the world as the player progresses. A plain stone filled cleft might be revealed as bursting with life and ore as the player defeats a boss or reaches an important milestone.
89

9-
```json
10-
{
11-
"advancement": "spectrum:milestones/reveal_quitoxic_reeds",
12-
"block_states": {
13-
"minecraft:grass": "minecraft:beacon",
14-
"minecraft:tall_grass": "minecraft:obsidian",
15-
"minecraft:tall_grass[half=upper]": "minecraft:netherite_block"
16-
},
17-
"items": {
18-
"minecraft:nether_star": "minecraft:gunpowder"
19-
}
20-
}
21-
```
10+
As long as a player does not have the necessary progress the blocks and items you register with Revelationary via API or Data Pack will just have cryptic names and in case of blocks in the world, will drop the same drops as the block it is disguised as, giving the player a seamless experience without getting flooded with unknown resources that they are not able to use at the start. Instead you can introduce resources just as they are needed.
2211

23-
## Registering a "revelation aware" block or item
12+
Limitations
13+
Besides visuals and drops, disguised blocks retain all the properties of the original block: Hitbox, if light passes through and everything else. Keep that in mind when searching for fitting candidates. A perfect disguise for your Ore would be stone or deepslate, since these share a lot of similarities. Similarly you could disguise your elusive plant with a poppy: Both have a small hitbox and players can walk through them.
2414

25-
```java
26-
public class CloakedItem extends Item implements RevelationAware {
27-
28-
Identifier cloakAdvancementIdentifier;
29-
Item cloakItem;
30-
31-
public CloakedItem(Settings settings, Identifier cloakAdvancementIdentifier, Item cloakItem) {
32-
super(settings);
33-
this.cloakAdvancementIdentifier = cloakAdvancementIdentifier;
34-
this.cloakItem = cloakItem;
35-
36-
registerCloak();
37-
}
38-
39-
@Override
40-
public Identifier getCloakAdvancementIdentifier() {
41-
return cloakAdvancementIdentifier;
42-
}
43-
44-
@Override
45-
public Hashtable<BlockState, BlockState> getBlockStateCloaks() {
46-
return new Hashtable<>();
47-
}
48-
49-
@Override
50-
public Pair<Item, Item> getItemCloak() {
51-
return new Pair<>(this, cloakItem);
52-
}
53-
54-
@Override
55-
public void onCloak() { }
56-
57-
@Override
58-
public void onUncloak() { }
59-
60-
}
61-
```
15+
If you are a programmer you can use the Revelation API to dynamically change your blocks properties depending on if they are visible to the player, or not. This way you could even disguise your flower as air: Giving it an empty hitbox when disguised, your players might not even know it is there until they can see them!
6216

63-
## Registering a Callback when Revelations happen
17+
# Advancement API
18+
Revelationary provides utilities to make the handling of advancements easier - both client- and serverside.
6419

65-
```java
66-
RevelationHolder.registerRevelationCallback(new RevelationHolder.UncloakCallback() {
67-
@Override
68-
public void trigger(List<Identifier> advancements, List<Block> blocks, List<Item> items) {
69-
for(Block block : blocks) {
70-
if(Registry.BLOCK.getId(block).getNamespace().equals(MOD_ID)) {
71-
...
72-
<I dunno. Like show a popup or something. You tell me>
73-
...
74-
break
75-
}
76-
}
77-
}
78-
});
79-
```
80-
81-
# Discord
82-
You will find a lot of helpful people on Spectrum's Discord. There always are friendly and helpful people around. Swing around too, if you like!
83-
84-
https://discord.com/invite/EXU9XFXT8a
20+
# Documentation and examples
21+
Find everything you need to know in [Revelationary's Wiki](https://github.com/DaFuqs/Revelationary/wiki) or take a look at [the examples](https://github.com/DaFuqs/Revelationary/blob/master/examples/example_revelations.json)

0 commit comments

Comments
 (0)