Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/btarg/origami
(WIP) A Minecraft Paper plugin that allows for adding new blocks and items in YAML, using resource packs
https://github.com/btarg/origami
custom-blocks custom-items minecraft paper paper-plugin papermc plugin resource-pack
Last synced: about 2 months ago
JSON representation
(WIP) A Minecraft Paper plugin that allows for adding new blocks and items in YAML, using resource packs
- Host: GitHub
- URL: https://github.com/btarg/origami
- Owner: btarg
- License: other
- Created: 2023-08-20T23:34:56.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-12-15T23:33:30.000Z (about 1 year ago)
- Last Synced: 2023-12-16T00:54:04.669Z (about 1 year ago)
- Topics: custom-blocks, custom-items, minecraft, paper, paper-plugin, papermc, plugin, resource-pack
- Language: Java
- Homepage: https://btarg.gitbook.io/origami-docs/
- Size: 624 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
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](https://github.com/btarg/Origami/actions/workflows/gradle.yml/badge.svg)](https://github.com/btarg/Origami/actions)
# 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](https://btarg.gitbook.io/origami-docs/) for information on how to use the
> plugin.The docs are also open source at [btarg/origami-docs](https://github.com/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.
- [x] Reload commands for all content
- [x] "Content Packs": content can be organised into folders under the `custom` folder
- [x] Example content generation for first-time users
- [x] Example crafting recipe
- [x] Example block
- [ ] Example item
- [ ] Example models
- [x] Custom blocks via YAML
- [x] Custom models via Minecraft JSON model format
- [x] Custom block break speed (needs more work)
- [x] Loot tables
- [x] Sounds for breaking and placing blocks
- [x] 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
- [x] Custom items via YAML
- [x] Custom models via Minecraft JSON model format
- [x] Custom name, lore and flags
- [x] Translated strings support
- [x] Legacy formatting *and* [MiniMessage](https://docs.advntr.dev/minimessage/index.html) support
- [ ] [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) support
- [x] Custom durability (tools, armour etc.)
- [x] 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
- [x] Custom crafting recipes via YAML
- [x] Cooking recipes (Furnaces, Campfires etc.)
- [x] 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
- [x] 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
- [x] Resource pack generation
- [x] Resource pack hosting
- [ ] Resource pack merging / multiple pack support
- [X] In-game UI for obtaining items (AKA "creative mode")
- [ ] Web UI for visual editing *(see preliminary work [here](https://github.com/btarg/vuejava))*
- [ ] Backend API with Javalin
- [ ] Vue.js frontend# Credits and special thanks
- The [PaperMC Discord](https://discord.gg/papermc) for being incredibly helpful and quick to respond to any questions
- [Unnamed Team](https://unnamed.team) for creating
the [Creative](https://unnamed.team/docs/creative/latest/getting-started) API and [yusshu](https://github.com/yusshu)
for helping me with implementing it
- [Dannegm on GitHub](https://github.com/dannegm/BlockEntities) for providing an initial implementation of custom blocks
using Item Display entities