~jadedctrl/gem-xwx-moe

~jadedctrl/gem-xwx-moe/gemujo_ludo/pretigi.sh
 ..
0 #!/bin/sh
1 #―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
2 # Nomo: pretigi.sh
3 # Priskribo: Elŝutas eksterajn modifaĵojn kaj kunigas ĉiun en mods/
4 # Postuloj: git
5 # Dato: 2024-01-04
6 #―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
7
8 uzado() {
9 echo "uzado: pretigi.sh"
10 echo ""
11 echo "Se ruliĝas en gemujo_ludo fontodosierujo (kun «mods.viaj/»),"
12 echo "tiu ĉi skripto elŝutas fremdajn modifaĵojn laŭeble, kaj poste"
13 echo "ligas kaj fremdajn (el «mods.retaj/») kaj proprajn (el «mods.niaj/»)"
14 echo "modifaĵojn en la dosierujo «mods/»."
15 echo ""
16 echo "Se vi movas la dosierujon de gemujo_ludo, vi devos reruli tiun"
17 echo "ĉi skripton por religi la modifaĵojn."
18 echo ""
19 echo "Sekuras ruli tiun ĉi skripton plurfoje."
20 }
21
22
23 # Elŝutas ĉiujn fremdajn modifaĵojn, laŭbezone, al la dosierujo `mods.retaj/`.
24 elshuti() {
25 mkdir -p \
26 mods.retaj/armiloj mods.retaj/bazaj mods.retaj/bestoj \
27 mods.retaj/fasado mods.retaj/iloj mods.retaj/ludanto \
28 mods.retaj/medio mods.retaj/mondo mods.retaj/ornamoj \
29 mods.retaj/servilo \
30 2> /dev/null
31
32 # Elŝutas minetest_game, elprenante la plejparton de ĝi al mods.retaj/bazaj˙
33 git clone https://github.com/minetest/minetest_game mods.retaj/.minetest_game
34 cp -r mods.retaj/.minetest_game/mods/* mods.retaj/bazaj/
35 rm -rf mods.retaj/bazaj/beds/ mods.retaj/bazaj/binoculars/ \
36 mods.retaj/bazaj/game_commands/ mods.retaj/bazaj/svinf mods.retaj/bazaj/tnt/
37
38 git_elshuti_al \
39 "mods.retaj/armiloj" \
40 https://github.com/jadedctrl/3d_armor \
41 https://hak.xwx.moe/jadedctrl/minetest_x_bows
42 # https://gitlab.com/jadedctrl/spears
43
44 mv mods.retaj/bazaj/beds_tenplus1 mods.retaj/bazaj/beds 2> /dev/null
45 git_elshuti_al \
46 "mods.retaj/bazaj" \
47 https://codeberg.org/tenplus1/beds \
48 https://codeberg.org/tenplus1/doors \
49 https://github.com/appgurueu/modlib
50 mv mods.retaj/bazaj/beds mods.retaj/bazaj/beds_tenplus1
51
52 git_elshuti_al \
53 "mods.retaj/bestoj" \
54 https://codeberg.org/jadedctrl/minetest_mobs_redo \
55 https://codeberg.org/jadedctrl/minetest_mobs_monster \
56 https://codeberg.org/jadedctrl/mobs_animal \
57 https://github.com/jadedctrl/animalworld \
58 https://github.com/jadedctrl/flower_cow \
59 https://github.com/jadedctrl/tmw_slimes
60
61 git_elshuti_al \
62 "mods.retaj/fasado" \
63 https://github.com/JadedCtrl/minetest_public_death_messages \
64 https://codeberg.org/Wuzzy/minetest_doc \
65 https://github.com/ZenonSeth/message_bubbles \
66 https://codeberg.org/Wuzzy/minetest_doc_basics
67
68 git_elshuti_al \
69 "mods.retaj/iloj" \
70 https://codeberg.org/jadedctrl/protector \
71 https://github.com/jadedctrl/minetest-envelopes
72
73 git_elshuti_al \
74 "mods.retaj/ludanto" \
75 https://github.com/jadedctrl/skinsdb \
76 https://github.com/appgurueu/character_anim \
77 https://github.com/Dumpster-Studios/fire_plus \
78 https://github.com/AiTechEye/invisible \
79 https://github.com/minetest-mods/item_drop \
80 https://github.com/minetest-mods/stamina \
81 https://github.com/minetest-mods/wielded_light
82
83 git_elshuti_al \
84 "mods.retaj/medio" \
85 https://codeberg.org/tenplus1/ambience \
86 https://github.com/minetest-mods/lightning
87
88 git_elshuti_al \
89 "mods.retaj/mondo" \
90 https://hak.xwx.moe/jadedctrl/everness/ \
91 https://github.com/Neuromancer56/mob_biome_mapper
92
93 git_elshuti_al \
94 "mods.retaj/ornamoj" \
95 https://github.com/JadedCtrl/plushies \
96 https://github.com/jadedctrl/signs_lib \
97 https://codeberg.org/jadedctrl/xdecor-libre \
98 https://hak.xwx.moe/jadedctrl/minetest-kotatsu \
99 https://github.com/minetest-mods/carpets \
100 https://github.com/HybridDog/connected_chests
101
102 mv mods.retaj/servilo/bonvenon mods.retaj/servilo/newplayer
103 git_elshuti_al \
104 "mods.retaj/servilo" \
105 https://github.com/minetest-mods/irc \
106 https://cheapiesystems.com/git/newplayer
107 mv mods.retaj/servilo/newplayer mods.retaj/servilo/bonvenon
108 }
109
110
111 # Elŝutas amase Git-deponejojn al specifa dosierujo.
112 git_elshuti_al() {
113 local dosierujo="$1"
114 shift
115 for url in $@; do
116 local nomo="$(basename "$url" | tr -- '-.' '__' | sed 's%minetest_%%')"
117 git clone --recursive "$url" "$dosierujo/$nomo"
118 done
119 }
120
121
122 # Flikas modifaĵojn por nia servilo.
123 fliki() {
124 if test ! -f mods/ludanto/skinsdb/.flikita; then
125 echo "Flikas skinsdb…" 1>&2
126 cp -r flikaĵoj/skinsdb/meta/* mods/ludanto/skinsdb/meta/
127 cp -r flikaĵoj/skinsdb/textures/* mods/ludanto/skinsdb/textures/
128 rm mods/ludanto/skinsdb/textures/character_ghe_* \
129 mods/ludanto/skinsdb/meta/character_ghe_* \
130 mods/ludanto/skinsdb/textures/character_pro_kiki.png \
131 mods/ludanto/skinsdb/meta/character_pro_kiki.txt
132 cd mods/ludanto/skinsdb/
133 git apply ../../../flikaĵoj/skinsdb/*.patch
134 cd ../../../
135 touch mods/ludanto/skinsdb/.flikita
136 fi
137
138 if test ! -f mods/fasado/public_death_messages/.flikita; then
139 echo "Flikas public_death_messages…" 1>&2
140 cd mods/fasado/public_death_messages/
141 git apply ../../../flikaĵoj/public_death_messages/*.patch
142 cd ../../../
143 touch mods/fasado/public_death_messages/.flikita
144 fi
145
146 if test ! -f mods/fasado/message_bubbles/.flikita; then
147 echo "Flikas message_bubbles…" 1>&2
148 cd mods/fasado/message_bubbles/
149 git apply ../../../flikaĵoj/message_bubbles/*.patch
150 cd ../../../
151 touch mods/fasado/message_bubbles/.flikita
152 fi
153
154 if test ! -f mods/bestoj/mobs_redo/.flikita; then
155 echo "Flikas mobs_redo…" 1>&2
156 cd mods/bestoj/mobs_redo/
157 git apply ../../../flikaĵoj/mobs_redo/*.patch
158 cd ../../../
159 touch mods/bestoj/mobs_redo/.flikita
160 fi
161
162 if test -n "$SERVILE" -a ! -f mods/servilo/irc/.flikita; then
163 echo "Flikas irc…" 1>&2
164 cd mods/servilo/irc/irc/
165 git apply ../../../../flikaĵoj/lua-irc/*.patch
166 cd ../../../../
167 touch mods/servilo/irc/.flikita
168 fi
169
170 if test -n "$SERVILE" -a ! -f mods/servilo/bonvenon/.flikita; then
171 echo "Flikas bonvenon…" 1>&2
172 cp flikaĵoj/bonvenon/*.txt mods/servilo/bonvenon/
173 cd mods/servilo/bonvenon
174 git apply ../../../flikaĵoj/bonvenon/*.patch
175 cd ../../../
176 touch mods/servilo/bonvenon/.flikita
177 fi
178 }
179
180
181 kopii() {
182 rsync --recursive --ignore-existing \
183 --exclude='/.minetest_game' \
184 mods.retaj/ mods/
185 rsync --recursive --ignore-existing \
186 mods.niaj/ mods/
187
188 # Provzire ne uzu! Ili ne estas tradukitaj/finpretigitaj.
189 rm -rf mods/fasado/doc*
190 rm -rf mods/fasado/emoji
191
192 # Submodifaĵoj, kiuj tute ne akordas nian subludon.
193 rm -rf mods/armiloj/3d_armor/armor_mithril \
194 mods/armiloj/3d_armor/armor_nether
195
196 # Renomu ripare.
197 mv mods/ornamoj/kotatsu mods/ornamoj/kotatsu_table 2> /dev/null
198 rm -rf mods/ornamoj/kotatsu 2> /dev/null
199
200 if test -z "$SERVILE"; then
201 rm -rf mods/servilo/*/
202 fi
203 }
204
205
206 esperantigi() {
207 local PATH="$PATH:flikaĵoj/"
208 esperantigi_modifaĵojn mods/
209 }
210
211
212 # Kunfandas privatajn (servilajn) agordojn kaj publikajn.
213 agordi() {
214 cat minetest.publike.conf minetest.private.conf \
215 > minetest.conf
216
217 if test -n "$SERVILE"; then
218 cat minetest.servile.conf \
219 >> minetest.conf
220 fi
221 }
222
223
224 if test "$1" = '-h' -o "$1" = '--help' -o "$1" = '--helpo'; then
225 uzado
226 exit 0
227 elif test "$1" = '--servile' -o "$1" = '-s'; then
228 SERVILE="jes"
229 fi
230 if test ! -d mods.niaj/; then
231 1>&2 uzado
232 exit 2
233 fi
234
235
236 elshuti \
237 2>&1 \
238 | grep -v 'already exists and is not an empty directory' \
239 1>&2
240 kopii
241 fliki
242 esperantigi
243 agordi