Giter Site home page Giter Site logo

btarg / origami Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 641 KB

(WIP) A Minecraft Paper plugin that allows for adding new blocks and items in YAML, using resource packs

Home Page: https://btarg.gitbook.io/origami-docs/

License: Other

Java 100.00%
minecraft paper papermc plugin paper-plugin custom-blocks custom-items resource-pack

origami's Introduction

Origami Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Custom blocks and items for Paper

Origami is a Minecraft server plugin which allows a server admin to easily add configurable custom blocks, items and crafting recipes using YAML configuration files.

The plugin generates and hosts resource packs to allow vanilla clients to connect and play with your custom content.

Build status

What makes this different from other plugins

Origami is designed to be as simple as possible for a Minecraft server owner to create custom content quickly. It is NOT an advanced custom block/item API for other developers to use, and it does not require any coding knowledge to use by design. Other plugins tend to be more developer-focused rather than being as human-friendly as possible for the average user.

Getting Started

๐Ÿ“– View the official docs on GitBook for information on how to use the plugin.

The docs are also open source at btarg/origami-docs.

Supported versions

This plugin will only ever support the latest version of Minecraft (Paper) at the time of its release.

Reporting issues

You can report issues with the plugin or the docs on this GitHub repository's issues page. When reporting a bug, send a full log file and walk through the steps needed to replicate the bug.

Current progress

This is not a comprehensive list of features, but serves instead as a developer to-do list.

  • Reload commands for all content
  • "Content Packs": content can be organised into folders under the custom folder
  • Example content generation for first-time users
    • Example crafting recipe
    • Example block
    • Example item
    • Example models
  • Custom blocks via YAML
    • Custom models via Minecraft JSON model format
    • Custom block break speed (needs more work)
    • Loot tables
    • Sounds for breaking and placing blocks
    • Blocks can be pushable
    • Custom stairs and slabs
    • Custom breaking particles
    • World awareness (e.g. detecting when another block is near it, when a player steps on it)
    • Custom containers
  • Custom items via YAML
    • Custom models via Minecraft JSON model format
    • Custom name, lore and flags
    • Custom durability (tools, armour etc.)
    • Editable enchantments
      • Configurable allowed enchantments
    • Editable attributes (e.g. attack power, armour defense stat)
    • NBT override via NBT string
    • Custom food items (function on consume)
    • Custom tool levels and blocks that can only be broken with custom tools
    • Custom sounds for breaking
  • Custom crafting recipes via YAML
    • Cooking recipes (Furnaces, Campfires etc.)
    • Smithing recipes (still very janky)
    • Potion recipes
    • Villager trades
    • Custom item repair recipes (defined in the item's YAML rather than as a separate "recipe")
  • Custom enchantments
  • YAML event system: events can be subscribed to such as when a block is broken, when an item is used or consumed etc. via a string in a YAML file
    • TODO: add more events
  • Resource pack generation
    • Resource pack hosting
    • Resource pack merging / multiple pack support
  • In-game UI for obtaining items (AKA "creative mode")
  • Web UI for visual editing (see preliminary work here)
    • Backend API with Javalin
    • Vue.js frontend

Credits and special thanks

origami's People

Contributors

btarg avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

berkcanerken

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.