mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-12-12 21:32:28 +00:00
53 lines
1.4 KiB
Bash
53 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
. /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
|
|
if [[ "$WORLD" ]] && [ ! -d "$worldDest" ]; then
|
|
case "X$WORLD" in
|
|
X[Hh][Tt][Tt][Pp]*)
|
|
log "Downloading world from $WORLD"
|
|
curl -sSL -o - "$WORLD" > /data/world.zip
|
|
log "Unzipping world"
|
|
unzip -o -q /data/world.zip
|
|
rm -f /data/world.zip
|
|
if [ ! -d $worldDest ]; then
|
|
log World directory not found
|
|
for i in /data/*/level.dat; do
|
|
if [ -f "$i" ]; then
|
|
d=`dirname "$i"`
|
|
log Renaming world directory from $d
|
|
mv -f "$d" $worldDest
|
|
fi
|
|
done
|
|
fi
|
|
if [ "$TYPE" = "SPIGOT" ]; then
|
|
# Reorganise if a Spigot server
|
|
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"
|
|
fi
|
|
;;
|
|
*)
|
|
if [[ -d "$WORLD" ]]; then
|
|
if [[ ! -d "$worldDest" ]]; then
|
|
log "Cloning world directory from $WORLD ..."
|
|
cp -r "$WORLD" "$worldDest"
|
|
else
|
|
log "Skipping clone from $WORLD since $worldDest exists"
|
|
fi
|
|
else
|
|
log "World cloning source '$WORLD' doesn't seem to exist"
|
|
exit 1
|
|
fi
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
exec /start-finalSetup02Modpack $@
|