Giter Site home page Giter Site logo

lisacyber / minecraft-storeys-maker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oasis-learn-study/minecraft-storeys-maker

0.0 1.0 0.0 1.72 MB

Minecraft extension to make your own stories in, with and for Minecraft - it's like being a movie director!

Home Page: https://www.learn.study

License: GNU Affero General Public License v3.0

Java 89.75% TypeScript 7.03% JavaScript 2.87% HTML 0.35%

minecraft-storeys-maker's Introduction

minecraft-storeys-maker Build Status

Minecraft extension to make your own stories in, with and for Minecraft - it's like being a movie director!

Minecraft Stories Maker

Please do Star & Watch this GitHub project if you like it!

Scratch integration

This project has two parts, delivered as separate Minecraft plugins:

  • The first, described below, lets you create stories by writing .story text files.
  • The second, described in a separate README, lets you script Minecraft with Scratch!

Get it

Download the latest storeys-master-all.jar file from Bintray.

Place it into your spongepowered.org Minecraft, typically the mods/ directory of a Vanilla server.

Tested on Sponge Vanilla 7.0.0 (Minecraft 1.12.1) and Sponge Vanilla 5.1.0 (Minecraft 1.10.2). Likely works on Sponge Forge as well.

Use it

Write your own .story file, e.g. see hello.story.

Run it with /story <story-name> (without .story suffix, so e.g. /story hello)

Story syntax

// Comment

= Title
== Subtitle

/tp 0 0 0

%await 2s

/tp -235 64 230 17 12

This is something which will appear on the chat.

@entityName this is something that the entity will "narrate" (in its name tag, like a speech bubble in a cartoon)
you can use more than one line; everything until the next paragraph break (double new line) will be part of the narration.
You do not have to break up the text yourself - it will automatically be "chopped up" appropriately by itself.

Now this will appear on the chat again (unless there is a '@' character in front again).

You can of course use ANY Minecraft command in any line that starts with the '/' character, not just /tp.

An entity's name must be given to your actors with a name tag (created via an Anvil), as always in normal Minecraft.

The %await action is is useful e.g. if you are teleporting your viewer around to show him a scenery, and need the story to "pause" (to appreciate the beauty of your creation). You do not need to explicitly use this otherwise, as the story automatically pauses appropriately when narrating, showing titles and chat.

You can obviously mix the order and repeat titles, comments, chats, narrations, commands and actions.

Commands

  • /story <story-name> plays a story, read from config/storeys/stories/<story-name>.story
  • /narrate <entityName> Text.. makes an entity "narrate" the Text

Build it

Locally

./gradlew build

Locally in a container

With S2I, and with git reset and clean due to #28 and #71:

cd ../s2i/java/images/jboss
docker build . -t fabric8/s2i-java

cd ../s2i-minecraft-server
s2i build --copy . fabric8/s2i-java s2i-minecraft-server

cd ../minecraft-storeys-maker
git reset --hard; git clean -d -f -x
s2i build --copy . s2i-minecraft-server minecraft-storeys-maker

docker run --rm -p 25565:25565 -p 8080:8080 -p 7070:7070 minecraft-storeys-maker

OpenShift simple

oc new-build fabric8/s2i-java~https://github.com/vorburger/s2i-minecraft-server

oc new-app s2i-minecraft-server~https://github.com/vorburger/minecraft-storeys-maker.git

This may fail if Builds have memory constraints; if so, Edit YAML to change resources: {} to resources:\n limits:\n memory: 2Gi.

Now expose the Minecraft server port 25565 via a LoadBalancer service, and similarly also (specific to this plugin) expose our JS web site code and Vert.x EventBus port, for now via Edit YAML on the minecraft-storeys-maker(-server) Service, and adding 7070 and 8080 just like 25565. NB that you do not set the nodePort: when editing the YAML; it will get automatically added. We then have to set Environment variables on the minecraft-storeys-maker(-server) Deployment:

oc get services

storeys_jsURL = http://<EXTERNAL-IP>:7070/minecraft.scratchx.js
storeys_eventBusURL = http://<EXTERNAL-IP>:8080/eventbus

OpenShift development

It helps to Edit YAML to add incremental: true to the strategy: / sourceStrategy: (This may not work on OpenShift Online, yet).

To use an un-published S2I Java builder image you have to first:

oc new-build https://github.com/fabric8io-images/s2i --context-dir=java/images/centos

and then:

oc new-build s2i~https://github.com/vorburger/s2i-minecraft-server

If have this project's source code locally, then (the rm .../node_modules is because of issue 28):

rm -rf scratch/.gradle/ scratch/node_modules
oc start-build minecraft-storeys-maker --from-dir=. --follow

FAQ

Seriously, "storeys" (not "stories") Maker, are you mental? Yeah.. just to avoid any possible confusion with Minecraft Story Mode! ;-)

License? Contributions? Licensed under the GNU Affero General Public License v3.0 (AGPLv3). Contributions most welcome.

minecraft-storeys-maker's People

Contributors

vorburger avatar edewit avatar dependabot-support avatar teneresa avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.