Browse Source

update for spawners change from mod to modpack

and shell function for install script
master
poikilos 7 years ago
committed by Jacob Gustafson
parent
commit
f0ac32dded
  1. 19
      README.md
  2. 847
      etc/change_hardcoded_world_name_first/game-install-ENLIVEN
  3. 216
      etc/game-install-enliven-testing.sh
  4. 100
      mtsenliven.py
  5. 11
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/README.txt
  6. 6
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/depends.txt
  7. 59
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/init.lua
  8. 2
      patches/mods-stopgap/cme_to_spawners/depends.txt
  9. 18
      patches/mods-stopgap/cme_to_spawners/init.lua
  10. 11
      patches/mods-stopgap/spawners_to_spawners_mobs/README.txt
  11. 6
      patches/mods-stopgap/spawners_to_spawners_mobs/depends.txt
  12. 13
      patches/mods-stopgap/spawners_to_spawners_mobs/init.lua

19
README.md

@ -10,13 +10,19 @@ ENLIVEN is a subgame for minetest with the goals of providing immersion and less
* birthstones, improved fork: <https://github.com/expertmm/minetest-birthstones>
### Planned Features
* trm_pyramids
* see also EnlivenMinetest/etc/game-install-enliven-testing.sh
#### Possible Additions
* https://github.com/minetest-mods/woodcutting/archive/master.zip
(sneek click to start auto-harvest tree, sneak again to cancel)
* subterrane: fork of Caverealms, but is just an API and needs other mods to generate anything
* craftguide
* privilegeareas: Privileges granted depending on areas -- https://github.com/minetest-mods/privilegeareas/archive/master.zip
#### Shell Script Deprecation Process
##### Goals
* Remove anything running as root, by running as user in web server group
##### Finished
* etc/change_hardcoded_world_name_first/mts-ENLIVEN deprecated by mtsenliven.py
@ -75,6 +81,15 @@ Otherwise just install everything EXCEPT cme_to_spawners & tsm_pyramids_to_spawn
* fix exception while trying to recover from exception (see `Could not finish writing r`)
## Changes:
(2018-02-08)
* trm_pyramids added (partial code in game-install-ENLIVEN completed)
(a required treasure table so tsm_pyramids can provide treasure in pyramids)
* switched links to use minetest-mods' versions of:
* throwing (now is an api only so ENLIVEN also installs minetest-mods/throwing_arrows)
* pipeworks
* added anvil mod
* added sling mod (throw any item or stack using sling--accounts for multiplayer)
(2018-02-06)
* refactored file structure
* renamed games/ENLIVEN to patches/subgame

847
etc/change_hardcoded_world_name_first/game-install-ENLIVEN

File diff suppressed because it is too large

216
etc/game-install-enliven-testing.sh

@ -14,7 +14,7 @@ echo "* torches: removes ceiling torches"
# * merge /home and unifiedinventory home (and make both require home priv)
#TODO for enliven main branch:
# * shift click to pull out maximum number of items you can create (such as multiple stacks of stairs from wood)
# * shift click to pull out maximum number of items you can create (such as multiple stacks of stairs from wood)
# * kick players at certain time intervals (if play span when logged in is not current play span, then kick) such as for schools
# * remove recipe for flint&steel (obsidian shard+Wrought Iron Ingot [default:steel_ingot])
# * detect whether tnt is disabled, and make obtaining it obtain a note or something (or somehow disable spawning of item in rail corridor chests where I found some)
@ -28,27 +28,26 @@ echo "* torches: removes ceiling torches"
# * resolve mg_villages error:
#2017-01-30 03:08:37: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'default' in callback item_OnPlace(): ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: attempt to concatenate field 'mts_path' (a nil value)
#2017-01-30 03:08:37: ERROR[Main]: stack traceback:
#2017-01-30 03:08:37: ERROR[Main]: ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: in function 'on_rightclick'
#2017-01-30 03:08:37: ERROR[Main]: ...ocal/share/minetest/games/enliven/mods/default/torch.lua:67: in function <...ocal/share/minetest/games/enliven/mods/default/#torch.lua:61>
#2017-01-30 03:08:37: ACTION[Server]: singleplayer leaves game. List of players:
#2017-01-30 03:08:37: ERROR[Main]: ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: in function 'on_rightclick'
#2017-01-30 03:08:37: ERROR[Main]: ...ocal/share/minetest/games/enliven/mods/default/torch.lua:67: in function <...ocal/share/minetest/games/enliven/mods/default/#torch.lua:61>
#2017-01-30 03:08:37: ACTION[Server]: singleplayer leaves game. List of players:
#2017-01-30 03:08:37: ACTION[Main]: [fishing] Server shuts down. saving trophies table
# * resolve issue where signslib uses small Helvetica Narrow font even if extrafonts is used properly by 31px/* (largest) being copied to signslib/textures/ (see below)
# * check whether special_picks large picks can break protection
# * change uses of maxwear=x to uses=1/x as per minetest server startup warnings: plantlife_modpack/vines/shear.lua and worldedit_commands/wand.lua
# * sometimes sorting compassgps by location crashes (only on the included user file named yelby in the etc folder)
if [ ! -d "$MT_MYGAME_MODS_PATH" ]; then
echo "bad MT_MYGAME_MODS_PATH=$MT_MYGAME_MODS_PATH, so you must be doing it wrong."
exit 1
fi
#used by mg_villages fork by Sokomine
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=handle_schematics.zip
MTMOD_UNZ_NAME=handle_schematics-master
MTMOD_DEST_NAME=handle_schematics
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -56,13 +55,12 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/handle_schematics/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/handle_schematics/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
@ -70,16 +68,12 @@ fi
#This mod is part of minetest_game 0.4.15!
#With exception of the wieldlight
#cd $HOME/Downloads
#MTMOD_DL_ZIP=master.zip
#MTMOD_SRC_ZIP=torches.zip
#MTMOD_UNZ_NAME=torches-master
#MTMOD_DEST_NAME=torches
#MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
##if [ -d "$MTMOD_UNZ_NAME" ]; then
#rm -Rf $MTMOD_UNZ_NAME
##fi
#if [ -f $MTMOD_DL_ZIP ]; then
# rm -f $MTMOD_DL_ZIP
#if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
# rm -Rf $MTMOD_UNZ_NAME
#fi
#if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP
@ -87,27 +81,22 @@ fi
#if [ -d "$MTMOD_DEST_PATH" ]; then
# sudo rm -Rf "$MTMOD_DEST_PATH"
#fi
#wget https://github.com/BlockMen/torches/archive/master.zip
#mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
#wget -O $MTMOD_SRC_ZIP https://github.com/BlockMen/torches/archive/master.zip
#unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
#if [ ! -d "$MTMOD_DEST_PATH" ]; then
# echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
# exit 1
# exit 1
#fi
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=moresnow.zip
MTMOD_UNZ_NAME=moresnow-master
MTMOD_DEST_NAME=moresnow
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -115,13 +104,12 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/moresnow/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/moresnow/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
@ -129,16 +117,12 @@ fi
echo "Installing adrido's (NOT MasterGollum's which is incompatible with moreblocks) darkage..."
#linked from MasterGollum's: https://forum.minetest.net/viewtopic.php?id=3213
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=darkage.zip
MTMOD_UNZ_NAME=darkage-master
MTMOD_DEST_NAME=darkage
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -146,26 +130,21 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/adrido/darkage/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget -O $MTMOD_SRC_ZIP https://github.com/adrido/darkage/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=cottages.zip
MTMOD_UNZ_NAME=cottages-master
MTMOD_DEST_NAME=cottages
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -173,56 +152,23 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/cottages/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget $MTMOD_SRC_ZIP https://github.com/Sokomine/cottages/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
#forum post (Sokomine's mg_villages provides villages for all mapgens and is based on is fork of Nores mg mapgen): https://forum.minetest.net/viewtopic.php?f=9&t=13116
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=mg_villages.zip
MTMOD_UNZ_NAME=mg_villages-master
MTMOD_DEST_NAME=mg_villages
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/mg_villages/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
fi
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=advanced_npc.zip
MTMOD_UNZ_NAME=advanced_npc-master
MTMOD_DEST_NAME=advanced_npc
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -230,28 +176,23 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/hkzorman/advanced_npc/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget -O $MTMOD_SRC_ZIP https://github.com/hkzorman/advanced_npc/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
#forum post (special_picks by cx384): https://forum.minetest.net/viewtopic.php?f=11&t=9574
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=special_picks.zip
MTMOD_UNZ_NAME=special_picks-master
MTMOD_DEST_NAME=special_picks
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
@ -259,35 +200,86 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/cx384/special_picks/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
wget -O $MTMOD_SRC_ZIP https://github.com/cx384/special_picks/archive/master.zip
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
exit 1
fi
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=travelnet.zip
MTMOD_UNZ_NAME=travelnet-master
MTMOD_DEST_NAME=travelnet
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
# no longer needed since ENLIVEN main branch now uses expertmm travelnet:
#cd $HOME/Downloads
#MTMOD_SRC_ZIP=travelnet.zip
#MTMOD_UNZ_NAME=travelnet-master
#MTMOD_DEST_NAME=travelnet
#MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
# rm -Rf $MTMOD_UNZ_NAME
#fi
#if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
#if [ -d "$MTMOD_DEST_PATH" ]; then
# sudo rm -Rf "$MTMOD_DEST_PATH"
#fi
#wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/travelnet/archive/master.zip
#unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
cd "$HOME/Downloads"
#does NOT have a zip extension when downloaded via wget:
MTMOD_SRC_ZIP=mesecons_modpack.zip
MTMOD_UNZ_NAME=mesecons-master
MTMOD_DEST_NAME=mesecons
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
rm -Rf minetest-mods-mesecons-*
rm -Rf ""
if [ -f "$MTMOD_SRC_ZIP" ]; then
rm -f "$MTMOD_SRC_ZIP"
fi
wget -O $MTMOD_SRC_ZIP https://github.com/minetest-mods/mg/archive/master.zip
unzip $MTMOD_SRC_ZIP
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/travelnet/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
sudo mv -f $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to create $MTMOD_DEST_PATH, so cannot continue." > $err_txt
cat $err_txt
sleep 3
exit 1
fi
# no longer needed (?) since minetest-mods now maintains an mg with villages
#forum post (Sokomine's mg_villages provides villages for all mapgens and is based on is fork of Nores mg mapgen): https://forum.minetest.net/viewtopic.php?f=9&t=13116
#cd $HOME/Downloads
#MTMOD_SRC_ZIP=mg_villages.zip
#MTMOD_UNZ_NAME=mg_villages-master
#MTMOD_DEST_NAME=mg_villages
#MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
# rm -Rf $MTMOD_UNZ_NAME
#fi
#if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP
#fi
#if [ -d "$MTMOD_DEST_PATH" ]; then
# sudo rm -Rf "$MTMOD_DEST_PATH"
#fi
#wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/mg_villages/archive/master.zip
#unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
#if [ ! -d "$MTMOD_DEST_PATH" ]; then
# echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
# exit 1
#fi

100
mtsenliven.py

@ -1,6 +1,10 @@
#!/usr/bin/env python3
# runs minetestserver using the paths defined by minetestinfo
# NOTE: SIGINT (as opposed to KILL) makes sure minetest server
# shuts down properly (makes sure all processes finish) according to
# dr4Ke on
# https://forum.minetest.net/viewtopic.php?f=11&t=13138&start=50
import os
from mtanalyze.minetestinfo import *
@ -60,29 +64,53 @@ for flag in msg_flags:
# see https://www.endpoint.com/blog/2015/01/28/getting-realtime-output-
# using-python
non_unique_wraps = []
non_unique_wraps.append(
{
"opener":"active block modifiers took ",
"closer":"ms (longer than 200ms)"
}
)
unique_flags = [
"leaves game",
"joins game"
]
def print_unique_only(output, err_flag=False):
output_strip = output.strip()
u_prefix = "active block modifiers took "
u_suffix = "ms (longer than 200ms)"
# (out_bytes is bytes)
show_enable = True
found_flag = None
f_i = None
for flag in msg_flags:
# such as '2018-02-06 21:08:06: WARNING[Server]: Deprecated call to get_look_yaw, use get_look_horizontal instead'
# or 2018-02-06 21:08:05: ACTION[Server]: [playereffects] Wrote playereffects data into /home/owner/.minetest/worlds/FCAGameAWorld/playereffects.mt.
f_i = output.find(flag)
if f_i >= 0:
found_flag = flag
break
if found_flag:
sub_msg = output[f_i+len(flag):].strip()
if sub_msg in msg_lists[found_flag]:
show_enable = False
else:
msg_lists[found_flag].append(sub_msg)
always_show_enable = False
for flag in unique_flags:
if flag in output:
always_show_enable = True
if not always_show_enable:
for flag in msg_flags:
# such as '2018-02-06 21:08:06: WARNING[Server]: Deprecated call to get_look_yaw, use get_look_horizontal instead'
# or 2018-02-06 21:08:05: ACTION[Server]: [playereffects] Wrote playereffects data into /home/owner/.minetest/worlds/FCAGameAWorld/playereffects.mt.
f_i = output.find(flag)
if f_i >= 0:
found_flag = flag
break
if found_flag:
sub_msg = output[f_i+len(flag):].strip()
for wrap in non_unique_wraps:
if wrap["opener"] in sub_msg and wrap["closer"] in sub_msg:
sub_msg = wrap["opener"] + "..." + wrap["closer"]
break
if sub_msg in msg_lists[found_flag]:
show_enable = False
else:
msg_lists[found_flag].append(sub_msg)
if show_enable:
print(output_strip)
if found_flag is not None:
print(" [ mtsenliven.py ] previous msg will be repressed")
print(" [ mtsenliven.py ] previous msg will be suppressed")
def process_msg(bstring):
output = bstring
@ -104,28 +132,35 @@ def process_msg(bstring):
# see jfs's answer on https://stackoverflow.com/questions/31833897/python-read-from-subprocess-stdout-and-stderr-separately-while-preserving-order
def reader(pipe, q):
try:
with pipe:
for line in iter(pipe.readline, b''):
q.put((pipe, line))
finally:
q.put(None)
try:
with pipe:
for line in iter(pipe.readline, b''):
q.put((pipe, line))
finally:
q.put(None)
except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
pass
q = Queue()
Thread(target=reader, args=[process.stdout, q]).start()
Thread(target=reader, args=[process.stderr, q]).start()
for _ in range(2):
for source, line in iter(q.get, None):
# print "%s: %s" % (source, line),
s = source
l = line
# NOTE: source is a string such as "<_io.BufferedReader name=5>"
try:
l = line.decode("utf-8")
except:
# this should never happen but doesn't matter anyway
pass
process_msg("%s: %s" % (s, l))
try:
for _ in range(2):
for source, line in iter(q.get, None):
# print "%s: %s" % (source, line),
s = source
l = line
# NOTE: source is a string such as "<_io.BufferedReader name=5>"
try:
l = line.decode("utf-8")
except:
# this should never happen but doesn't matter anyway
pass
process_msg("%s: %s" % (s, l))
except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
pass
exit(0)
@ -145,5 +180,6 @@ while True:
# process_msg(err_bytes)
rc = process.poll()
except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
break
# process.kill()

11
patches/mods-deprecated/cme_to_spawners-0.4.15-git/README.txt

@ -0,0 +1,11 @@
Minetest Game mod: cme_to_spawners
=========================
This mod provides a transition from cme (Creatures Mob Engine) so you can use "spawners" mod instead, which uses mobs_monsters [mobs redo monsters] and a new spawners:mummy.
Authors of source code
----------------------
expertmm (github.com/expertmm)
Authors of media (textures)
---------------------------
(no media)

6
patches/mods-deprecated/cme_to_spawners-0.4.15-git/depends.txt

@ -0,0 +1,6 @@
default
farming
mobs
mobs_monster
mobs_animal
spawners

59
patches/mods-deprecated/cme_to_spawners-0.4.15-git/init.lua

@ -0,0 +1,59 @@
-- Copyright 2017 expertmm
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-- NOTE: register_alias is not needed for mobs, since alias_mob calls that
-- minetest.register_alias(name, convert_to)
-- "This means that if the engine finds nodes with the name name in the world the node with the name convert_to is used instead. "
-- <https://dev.minetest.net/minetest.register_alias>
-- minetest.register_alias("creatures:chicken", "mobs_animal:chicken")
-- minetest.register_alias("creatures:sheep", "mobs_animal:sheep_white")
-- minetest.register_alias("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
-- minetest.register_alias("creatures:ghost", "mobs_monster:spider")
-- minetest.register_alias("creatures:mummy", "spawners:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
-- minetest.register_alias("creatures:oerrki", "mobs_monster:oerrki")
-- minetest.register_alias("creatures:zombie", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:chicken", "mobs_animal:chicken")
mobs:alias_mob("creatures:sheep", "mobs_animal:sheep_white")
mobs:alias_mob("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
mobs:alias_mob("creatures:ghost", "mobs_monster:spider")
mobs:alias_mob("creatures:mummy", "spawners:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:oerrki", "mobs_monster:oerrki")
mobs:alias_mob("creatures:zombie", "mobs_monster:stone_monster")
minetest.register_alias("creatures:chicken_spawner", "spawners:mobs_chicken_spawner")
minetest.register_alias("creatures:ghost_spawner", "spawners:mobs_spider_spawner")
minetest.register_alias("creatures:mummy_spawner", "spawners:spawners_mummy_spawner")
minetest.register_alias("creatures:oerrki_spawner", "spawners:mobs_oerkki_spawner")
minetest.register_alias("creatures:sheep_spawner", "spawners:mobs_sheep_white_spawner")
minetest.register_alias("creatures:zombie_spawner", "spawners:mobs_stone_monster_spawner")
-- meat:
minetest.register_alias("creatures:chicken_flesh", "mobs:chicken_raw")
minetest.register_alias("creatures:chicken_meat", "mobs:chicken_cooked")
minetest.register_alias("creatures:rotten_flesh", "")
minetest.register_alias("creatures:grilled_rotten_flesh", "")
minetest.register_alias("creatures:flesh", "mobs:meat_raw")
minetest.register_alias("creatures:meat", "mobs:meat")
-- non-meat food:
minetest.register_alias("creatures:egg", "mobs:egg")
minetest.register_alias("creatures:fried_egg", "mobs:chicken_egg_fried")
-- materials:
minetest.register_alias("creatures:feather", "farming:string")
-- tools:
minetest.register_alias("creatures:shears", "mobs:shears")
-- eggs (there is no true chicken spawner egg item (at least in egg texture) in spawners or mobs, so using regular chicken which works the same (could also use mobs:egg for partial effectiveness) instead):
minetest.register_alias("creatures:chicken_spawn_egg", "mobs_animal:chicken")
minetest.register_alias("creatures:ghost_spawn_egg", "mobs_monster:spider")
minetest.register_alias("creatures:mummy_spawn_egg", "spawners:mummy")
minetest.register_alias("creatures:oerrki_spawn_egg", "mobs_monster:oerkki")
minetest.register_alias("creatures:sheep_spawn_egg", "mobs:sheep_white")
minetest.register_alias("creatures:zombie_spawn_egg", "mobs_monster:stone_monster")

2
patches/mods-stopgap/cme_to_spawners/depends.txt

@ -3,4 +3,4 @@ farming
mobs
mobs_monster
mobs_animal
spawners
spawners_mobs

18
patches/mods-stopgap/cme_to_spawners/init.lua

@ -11,7 +11,7 @@
-- minetest.register_alias("creatures:sheep", "mobs_animal:sheep_white")
-- minetest.register_alias("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
-- minetest.register_alias("creatures:ghost", "mobs_monster:spider")
-- minetest.register_alias("creatures:mummy", "spawners:mummy")
-- minetest.register_alias("creatures:mummy", "spawners_mobs:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
-- minetest.register_alias("creatures:oerrki", "mobs_monster:oerrki")
-- minetest.register_alias("creatures:zombie", "mobs_monster:stone_monster")
@ -20,17 +20,17 @@ mobs:alias_mob("creatures:chicken", "mobs_animal:chicken")
mobs:alias_mob("creatures:sheep", "mobs_animal:sheep_white")
mobs:alias_mob("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
mobs:alias_mob("creatures:ghost", "mobs_monster:spider")
mobs:alias_mob("creatures:mummy", "spawners:mummy")
mobs:alias_mob("creatures:mummy", "spawners_mobs:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:oerrki", "mobs_monster:oerrki")
mobs:alias_mob("creatures:zombie", "mobs_monster:stone_monster")
minetest.register_alias("creatures:chicken_spawner", "spawners:mobs_chicken_spawner")
minetest.register_alias("creatures:ghost_spawner", "spawners:mobs_spider_spawner")
minetest.register_alias("creatures:mummy_spawner", "spawners:spawners_mummy_spawner")
minetest.register_alias("creatures:oerrki_spawner", "spawners:mobs_oerkki_spawner")
minetest.register_alias("creatures:sheep_spawner", "spawners:mobs_sheep_white_spawner")
minetest.register_alias("creatures:zombie_spawner", "spawners:mobs_stone_monster_spawner")
minetest.register_alias("creatures:chicken_spawner", "spawners_mobs:mobs_chicken_spawner")
minetest.register_alias("creatures:ghost_spawner", "spawners_env:mobs_spider_spawner")
minetest.register_alias("creatures:mummy_spawner", "spawners_mobs:spawners_mobs_mummy_spawner")
minetest.register_alias("creatures:oerrki_spawner", "spawners_mobs:mobs_oerkki_spawner")
minetest.register_alias("creatures:sheep_spawner", "spawners_mobs:mobs_sheep_white_spawner")
minetest.register_alias("creatures:zombie_spawner", "spawners_mobs:mobs_stone_monster_spawner")
-- meat:
minetest.register_alias("creatures:chicken_flesh", "mobs:chicken_raw")
@ -53,7 +53,7 @@ minetest.register_alias("creatures:shears", "mobs:shears")
-- eggs (there is no true chicken spawner egg item (at least in egg texture) in spawners or mobs, so using regular chicken which works the same (could also use mobs:egg for partial effectiveness) instead):
minetest.register_alias("creatures:chicken_spawn_egg", "mobs_animal:chicken")
minetest.register_alias("creatures:ghost_spawn_egg", "mobs_monster:spider")
minetest.register_alias("creatures:mummy_spawn_egg", "spawners:mummy")
minetest.register_alias("creatures:mummy_spawn_egg", "spawners_mobs:mummy")
minetest.register_alias("creatures:oerrki_spawn_egg", "mobs_monster:oerkki")
minetest.register_alias("creatures:sheep_spawn_egg", "mobs:sheep_white")
minetest.register_alias("creatures:zombie_spawn_egg", "mobs_monster:stone_monster")

11
patches/mods-stopgap/spawners_to_spawners_mobs/README.txt

@ -0,0 +1,11 @@
Minetest Game mod: spawners_to_spawners_mobs
=========================
This mod provides a transition from spawners (old non-modpack version) in case of existing worlds, so you can use the new modpack version of spawners instead, which still uses mobs_monsters [mobs redo monsters] but also uses spawners_mobs:mummy (formerly spawners:mummy).
Authors of source code
----------------------
expertmm (github.com/expertmm)
Authors of media (textures)
---------------------------
(no media)

6
patches/mods-stopgap/spawners_to_spawners_mobs/depends.txt

@ -0,0 +1,6 @@
default
farming
mobs
mobs_monster
mobs_animal
spawners_mobs

13
patches/mods-stopgap/spawners_to_spawners_mobs/init.lua

@ -0,0 +1,13 @@
-- Copyright 2017 expertmm
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-- NOTE: register_alias is not needed for mobs, since alias_mob calls that
-- minetest.register_alias(name, convert_to)
-- "This means that if the engine finds nodes with the name name in the world the node with the name convert_to is used instead. "
-- <https://dev.minetest.net/minetest.register_alias>
mobs:alias_mob("spawners:mummy", "spawners_mobs:mummy")
mobs:alias_mob("spawners:bunny_evil", "spawners_mobs:bunny_evil")
mobs:alias_mob("spawners:uruk_hai", "spawners_mobs:uruk_hai")
Loading…
Cancel
Save