docker-minecraft-server/start-finalSetup01World

53 lines
1.4 KiB
Text
Raw Normal View History

2017-11-01 05:42:44 +00:00
#!/bin/bash
2020-03-06 15:52:17 +00:00
. /start-utils
if [ $TYPE = "FEED-THE-BEAST" ]; then
worldDest=$FTB_BASE_DIR/$LEVEL
else
worldDest=/data/$LEVEL
fi
# If no world exists and a URL for a world is supplied, download it and unpack
2018-10-18 04:17:32 +00:00
if [[ "$WORLD" ]] && [ ! -d "$worldDest" ]; then
2017-11-01 05:42:44 +00:00
case "X$WORLD" in
X[Hh][Tt][Tt][Pp]*)
2020-03-06 15:52:17 +00:00
log "Downloading world from $WORLD"
2018-06-26 00:13:47 +00:00
curl -sSL -o - "$WORLD" > /data/world.zip
2020-03-06 15:52:17 +00:00
log "Unzipping world"
unzip -o -q /data/world.zip
2017-11-01 05:42:44 +00:00
rm -f /data/world.zip
if [ ! -d $worldDest ]; then
2020-03-06 15:52:17 +00:00
log World directory not found
2017-11-01 05:42:44 +00:00
for i in /data/*/level.dat; do
if [ -f "$i" ]; then
d=`dirname "$i"`
2020-03-06 15:52:17 +00:00
log Renaming world directory from $d
mv -f "$d" $worldDest
2017-11-01 05:42:44 +00:00
fi
done
fi
if [ "$TYPE" = "SPIGOT" ]; then
# Reorganise if a Spigot server
2020-03-06 15:52:17 +00:00
log "Moving End and Nether maps to Spigot location"
[ -d "$worldDest/DIM1" ] && mv -f "$worldDest/DIM1" "/data/${LEVEL}_the_end"
[ -d "$worldDest/DIM-1" ] && mv -f "$worldDest/DIM-1" "/data/${LEVEL}_nether"
2017-11-01 05:42:44 +00:00
fi
;;
*)
if [[ -d $WORLD ]]; then
if [[ ! -d $worldDest ]]; then
2020-03-06 15:52:17 +00:00
log "Cloning world directory from $WORLD ..."
cp -r $WORLD $worldDest
else
2020-03-06 15:52:17 +00:00
log "Skipping clone from $WORLD since $worldDest exists"
fi
else
2020-03-06 15:52:17 +00:00
log "Invalid URL given for world: Must be HTTP or HTTPS and a ZIP file"
fi
2017-11-01 05:42:44 +00:00
;;
esac
fi
exec /start-finalSetup02Modpack $@