1
0
Fork 0

A first and simple input->output container

This commit is contained in:
saibotk 2019-06-10 02:00:34 +02:00
parent 5e6a0af914
commit e31130c74b
2 changed files with 75 additions and 0 deletions

34
Dockerfile Normal file
View file

@ -0,0 +1,34 @@
FROM openjdk:13-alpine
MAINTAINER https://github.com/saibotk/BlockMap-Docker
ARG USER=blockmap
ARG GROUP=blockmap
ARG PUID=844
ARG PGID=844
ENV OUTPUT=/blockmap/output \
INPUT_OVERWORLD=/blockmap/input/region \
INPUT_NETHER=/blockmap/input/DIM1/region \
INPUT_END=/blockmap/input/DIM-1/region \
VERSION=1.3.0 \
SHA1=cada13d8c9bba4a8dd1ed3017fd04a4a03695ca3
RUN mkdir -p /opt/blockmap /blockmap && \
apk add --update --no-cache su-exec binutils gettext libintl && \
apk add --update --no-cache --virtual .build-deps curl && \
curl -sSL https://github.com/Minecraft-Technik-Wiki/BlockMap/releases/download/$VERSION/BlockMap-$VERSION.jar -o /opt/blockmap/BlockMap.jar && \
echo "$SHA1 /opt/blockmap/BlockMap.jar" | sha1sum -c && \
chmod ugo=rwx /opt/blockmap && \
ln -s $INPUT_OVERWORLD /opt/blockmap/overworld && \
ln -s $INPUT_NETHER /opt/blockmap/nether && \
ln -s $INPUT_END /opt/blockmap/end && \
ln -s $OUTPUT /opt/blockmap/output && \
apk del .build-deps && \
addgroup -g $PGID -S $GROUP && \
adduser -u $PUID -G $GROUP -s /bin/sh -SDH $USER && \
chown -R $USER:$GROUP /opt/blockmap /blockmap
COPY files/ /
ENTRYPOINT ["/docker-entrypoint.sh"]

41
files/docker-entrypoint.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/sh +x
# Stop this script on the first failure (e.g. cannot create the output folder)
set -e
# This script renders one or more worlds with different settings. It is an example for how to use BlockMap in scripts. Adapt these
# variables to point to the required data for
# this to work. Further below are the actual render commands. Feel free to adapt them to your needs.
#
# The current configuration will render each dimension at least once, the overworld even multiple times (ocean ground view and
# cave view). All images are written to a different
# subfolder for each setting.
WORLD_FOLDER_OVERWORLD=/opt/blockmap/overworld
WORLD_FOLDER_NETHER=/opt/blockmap/nether
WORLD_FOLDER_END=/opt/blockmap/end
OUTPUT_DIR=/opt/blockmap/output
BLOCKMAP_FILE=/opt/blockmap/BlockMap.jar
# mkdir -p $OUTPUT_DIR
ls -l /opt/blockmap
# A simple and plain overworld view
echo "[INFO] Rendering overworld..."
mkdir -p $OUTPUT_DIR/overworld
java -jar $BLOCKMAP_FILE -v render -l -o=$OUTPUT_DIR/overworld $WORLD_FOLDER_OVERWORLD save --world-name="Overworld" --file="$OUTPUT_DIR/rendered.json"
# The ocean grounds of the overworld
echo "[INFO] Rendering overworld_ocean..."
mkdir -p $OUTPUT_DIR/overworld_ocean
java -jar $BLOCKMAP_FILE -v render -l -o=$OUTPUT_DIR/overworld_ocean -c=OCEAN_GROUND $WORLD_FOLDER_OVERWORLD save --world-name="Overworld (Ocean)" --file="$OUTPUT_DIR/rendered.json"
# All caves up to height 30
echo "[INFO] Rendering overworld_cave..."
mkdir -p $OUTPUT_DIR/overworld_cave
java -jar $BLOCKMAP_FILE -v render -l -o=$OUTPUT_DIR/overworld_cave -c=CAVES --max-height=30 $WORLD_FOLDER_OVERWORLD save --world-name="Overworld (Cave)" --file="$OUTPUT_DIR/rendered.json"
# The nether up to height 64
echo "[INFO] Rendering overworld_nether..."
mkdir -p $OUTPUT_DIR/overworld_nether
java -jar $BLOCKMAP_FILE -v render -l -o=$OUTPUT_DIR/nether --max-height=64 $WORLD_FOLDER_NETHER save --world-name="Nether" --file="$OUTPUT_DIR/rendered.json"
# A plain view of the end
echo "[INFO] Rendering overworld_end..."
mkdir -p $OUTPUT_DIR/overworld_end
java -jar $BLOCKMAP_FILE -v render -l -o=$OUTPUT_DIR/end $WORLD_FOLDER_END save --world-name="End" --file="$OUTPUT_DIR/rendered.json"
echo "[INFO] Rendering finished!"