A first and simple input->output container
This commit is contained in:
parent
5e6a0af914
commit
e31130c74b
2 changed files with 75 additions and 0 deletions
34
Dockerfile
Normal file
34
Dockerfile
Normal 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
41
files/docker-entrypoint.sh
Executable 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!"
|
Loading…
Add table
Reference in a new issue