You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+62-56Lines changed: 62 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,37 +1,58 @@
1
-
# Babel Book Loot v1.0
2
-
## A customisable pre-written book loot datapack for Minecraft
1
+

3
2
4
-
Babel Book Loot adds over 100 pre-written books to various loot tables in Minecraft. The default library of books is a collection of public domain fairy tales. You can customise the library by adding your own text files.
3
+

4
+
5
+
# Babel Book Loot v1.1
6
+
## A customizable pre-written book loot data pack for Minecraft
7
+
8
+
Babel Book Loot adds over 100 pre-written books to various loot tables in Minecraft. The default library of books is a collection of public domain fairy tales. You can customize the library by adding your own books.
5
9
6
10
It was last updated for Minecraft 1.21.
7
11
8
12
## Quick-start
9
13
10
-
Download [babel_v1.0.zip](https://github.com/JiFish/babel/releases/download/v1.0/babel_v1.0.zip) and place it in your Minecraft world's datapack directory.
11
-
12
-
If you don't want zombies dropping books, download [babel-no-zombie-loot_v1.0.zip](https://github.com/JiFish/babel/releases/download/v1.0/babel-no-zombie-loot_v1.0.zip) instead.
14
+
Download [babel_v1.1.zip](https://github.com/JiFish/babel/releases/download/v1.1/babel_v1.1.zip) and place it in your Minecraft world's `datapacks` directory.
13
15
14
-
## How the datapack works in-game
16
+
## How the data pack works in-game
15
17
16
18
Written books can be dropped by zombies if killed by a player, or fished up with a fishing rod. They can also be found in villages, stronghold libraries and woodland mansions in chests.
17
19
18
20
The generation of the book is determined randomly:
19
-
-69% Tattered Book
20
-
-30% Copy of a copy
21
+
-33% Tattered Book (not copyable)
22
+
-65% Copy of a copy (not copyable)
21
23
- 1% Copy of original
22
24
- <1% Original
23
25
24
-
## Customising Books
26
+
If you are hero of the village, librarians throw a guaranteed copyable book.
27
+
28
+
## Pre-customized options
29
+
30
+
These data packs are variations with tweaked rules for obtaining the books:
31
+
32
+
-[babel-no-copying_v1.1.zip](https://github.com/JiFish/babel/releases/download/v1.1/babel-no-copying_v1.1.zip) - All books are "copy of a copy" and can't be duplicated. Also disables hero of the village reward.
33
+
-[babel-no-zombie-loot_v1.1.zip](https://github.com/JiFish/babel/releases/download/v1.1/babel-no-zombie-loot_v1.1.zip) - Zombies don't drop books.
34
+
-[babel-only-chests_v1.1.zip](https://github.com/JiFish/babel/releases/download/v1.1/babel-only-chests_v1.1.zip) - Books can only be found in chests. No zombie drops, fishing, or hero of the village reward.
35
+
-[babel-recipe_v1.1.zip](https://github.com/JiFish/babel/releases/download/v1.1/babel-recipe_v1.1.zip) - Includes the below recipe to craft random books.
25
36
26
-
First get babel-builder-windows_v1.0.zip or babel-builder-python_v1.0.zip from the [releases page](https://github.com/JiFish/babel/releases).
37
+
#### Optional recipe
27
38
28
-
Run `py babel.py` (or `babel.exe` in windows.) this will output `babel.zip`. Put that file in your Minecraft world's datapack directory. Run `babel.py -h` to see more options.
39
+
If you got the version with the crafting recipe. Just combine 1 Book and Quill, 1 Soul Sand Block, 1 Chest, and 1 Emerald. (The recipe is shapeless.) This gives a chest which once placed will have a single random book inside.
## Advanced customization using Babel Builder Tool
44
+
45
+
First get babel-builder-windows_v1.1.zip or babel-builder-python_v1.1.zip from the [releases page](https://github.com/JiFish/babel/releases).
46
+
47
+
Run `py babel.py` (or `babel.exe` in windows.) this will output `babel.zip`. Put that file in your Minecraft world's `datapacks` directory.
48
+
49
+
### Changing included books
29
50
30
51
Any books in the `books` directory will be included. You can add and remove books as you wish.
31
52
32
-
Book can be in JSON or YAML formats. Here is a simple example:
53
+
Books can be in JSON or YAML formats. Here are some simple examples:
33
54
34
-
**sample_book.yaml**
55
+
#### sample_book.yaml
35
56
```
36
57
title: Sample Book
37
58
author: Some Author
@@ -41,7 +62,7 @@ pages:
41
62
- This is page three.
42
63
```
43
64
44
-
**sample_book.json:**
65
+
#### sample_book.json
45
66
```
46
67
{
47
68
"title": "Sample Book",
@@ -56,13 +77,13 @@ pages:
56
77
57
78
Minecraft accepts strictly non-valid JSON, so babel tries to too. Babel does it's best to read the books, but if it's having issues your best bet is to ensure the file is valid JSON.
58
79
59
-
### Advanced Books
80
+
**Important note**: There is no easy way to find out how much text will fit on a page and Minecraft will allow pages longer than it can display. The simplest way to figure out the correct page lengths is to write the pages in minecraft itself, then copy the text out. [Text2Book](https://thewilley.github.io/Text2Book/) can assist you with splitting up your text.
60
81
61
-
You can do more advanced stuff with books if you need it.
82
+
**If you've made book files and the text is in the public domain, please consider submitting them back here!**
62
83
63
84
#### Colors, formatting, etc.
64
85
65
-
Your pages can be in [Raw JSON text format](https://minecraft.wiki/w/Raw_JSON_text_format) e.g.
86
+
Your book pages can be in [Raw JSON text format](https://minecraft.wiki/w/Raw_JSON_text_format) e.g.
66
87
67
88
```
68
89
{
@@ -74,7 +95,7 @@ Your pages can be in [Raw JSON text format](https://minecraft.wiki/w/Raw_JSON_te
74
95
}
75
96
```
76
97
77
-
#### Optional parameters
98
+
#### Optional book parameters
78
99
79
100
Book files can contain the following optional parameters:
80
101
-`weight` - The chance this book will be selected vs others in the table. Default is `1`, so a value of `2` would mean the book is twice as likely to be selected.
@@ -104,62 +125,47 @@ An example using all optional parameters:
104
125
}
105
126
```
106
127
107
-
### Submitting books
108
-
If you've made some books and the text is in the public domain, please consider submitting them back here!
109
-
110
-
### Default library
111
-
The default collection of books was sourced from Project Gutenberg. https://www.gutenberg.org/
112
-
113
-
### Updating books from v0.5
128
+
#### Updating books from v0.5
114
129
If you already have books in the v0.5 format, you can update them by running `update_books.py`. The books directory must only contain v0.5 format books. The script will also overwrite the originals, so keep a backup.
115
130
116
-
## Advanced Customisation
117
-
### Altering where books will be found
118
-
You can disable various book drops using command line options. Use `babel.py -h` to see the complete list. An example where zombies do not drop books:
119
-
```
120
-
babel.py -d zombie
121
-
````
122
-
123
-
You can add books to other loot tables using type `minecraft:loot_table` and value `babel:books`.
124
-
125
-
### Dealing with datapack conflicts
126
-
If any of your other datapacks modify loot tables used by babel, it might be possible to create a compatible pack. To do this, replace the loot tables in the `base_loot_tables` with the ones from the conflicting datapack. This isn't guaranteed to work, and won't if the tables are much different from expected.
131
+
### Changing other pack settings
127
132
128
-
### For use making your own datapacks
129
-
If you just want to generate the loot table without the surrounding files, try:
130
-
```
131
-
build_loottable.py > books.json
132
-
```
133
+
You can disable various loot drops, change generation chances, and make other customizations by editing `config.yaml`.
-a, --append-version Append babel version number to output filename.
152
148
```
153
149
150
+
## Use with other data packs
151
+
152
+
### Using as part of your own data packs
153
+
You can add books to other loot tables using type `minecraft:loot_table` and value `babel:books`.
154
+
155
+
If you just want to generate the loot table without the surrounding files, try running: `py build_loottable.py > books.json`
156
+
157
+
### Dealing with data pack conflicts
158
+
If any of your other data packs modify loot tables used by babel, it might be possible to create a compatible pack. To do this, replace the loot tables in the `data/base_loot_tables` with the versions from the conflicting data pack. Then make sure this data pack is loaded before the conflicting one. This isn't guaranteed to work, and won't if the tables are much different from expected.
159
+
154
160
## Comments, suggestions or contributions?
155
161
Please use the Issue Tracker on GitHub, or send me a tweet [@JiFish](https://twitter.com/intent/tweet?text=.@JiFish) or Toot [@joe@social.jifish.co.uk](https://social.jifish.co.uk/@joe).
156
162
157
-
## Copyright & use in your own datapacks
158
-
Assuming the books are your own work, loot tables outputted by babel belong to you. You can use them freely in your own datapack. A credit is very appreciated, but not required.
163
+
## Copyright & use in your own data packs
164
+
Assuming the books are your own work, loot tables outputted by babel belong to you. You can use them freely in your own data pack. A credit is very appreciated, but not required.
159
165
160
-
Books in the `books` directory are in the public domain. The `books.json` file created from them is also in the public domain.
166
+
Books in the `books` directory are in the public domain, sourced from [Project Gutenberg](https://www.gutenberg.org/). The `books.json` file created from them is also in the public domain.
161
167
162
-
The babel tool and datapack is copyright Joseph Fowler.
168
+
The babel tool and data pack is copyright Joseph Fowler.
0 commit comments