diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99623005a..ddb2849b1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ By contributing to the Gluon you agree with the [Developer Certificate of Origin ## Guide: Pull Requests 1. ### Discuss your feature - Be sure to talk to us (either through an issue or on [Discord](https://discord.quiltmc.org/toolchain)) before working on your feature! We can help you with any questions you may have, and save some time during the review process. + Be sure to talk to us (either through an issue or on [Discord](https://discord.muonmc.org/)) before working on your feature! We can help you with any questions you may have, and save some time during the review process. 2. ### Open your PR and wait for reviews Once you have forked Gluon and opened a pull request, you need to wait for people to review it. When you get reviews, try to thoughtfully address any concerns other people have. If you get confused, be sure to ask questions! 3. ### Entering a Final Comment Period @@ -90,8 +90,7 @@ browsing files. Use American English for consistency throughout Gluon. -If there are two acceptable spellings of the same word, first check if one is already being used in Gluon, Quilt Mappings -or by Mojang, and if not, use the most common spelling. +If there are two acceptable spellings of the same word, first check if one is already being used in Gluon, by Mojang, or Quilt Mappings, and if not, use the most common spelling. ### Conciseness @@ -235,11 +234,11 @@ Note that `.` from abbreviations, such as `i.e.`, count. The `$` character may be used in mixins to mark a semantic separation in the name, in other words it allows to separate the actual name of the variable and the namespace. -All `@Unique` mixin fields and methods and all methods coming from duck interfaces must be prefixed with `quilt$` in order to aid with debugging as well as preventing issues. +All `@Unique` mixin fields and methods and all methods coming from duck interfaces must be prefixed with `gluon$` in order to aid with debugging as well as preventing issues. In the case of a pseudo-local variable (a field used briefly to pass around a local variable of a method between 2 injections of said method), the field should be named with the namespace first, then the name of the injected method, -and finally the name of the local (`quilt$injectedMethod$localName`). +and finally the name of the local (`gluon$injectedMethod$localName`). ## Gradle Conventions diff --git a/README.md b/README.md index 291ba88d2..e22aad18a 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ # Gluon (Gluon) -![Java 17](https://img.shields.io/badge/language-Java%2017-9B599A.svg?style=flat-square) -[![GitHub license](https://img.shields.io/github/license/QuiltMC/quilt-standard-libraries?style=flat-square)](https://raw.githubusercontent.com/QuiltMC/quilt-standard-libraries/1.19/LICENSE) -[![Mod loader: Quilt]][quilt] -![Version](https://img.shields.io/github/v/tag/QuiltMC/quilt-standard-libraries?label=version&style=flat-square) +![Java 21](https://img.shields.io/badge/language-Java%2021-9B599A.svg?style=plastic) +[![GitHub License](https://img.shields.io/github/license/MuonMC/gluon?style=plastic)]() +[![Mod loader: Muon]][muon] +![Version](https://img.shields.io/github/v/tag/MuonMC/gluon?style=plastic&label=version) -Essential standard libraries for [the Quilt ecosystem](https://quiltmc.org/). +Essential standard libraries for [the Muon ecosystem](https://muonmc.org/). The Gluon gives modders Muon-exclusive tools to add new and exciting features to their mods. **Note: At the moment, Gluon is in beta, meaning issues may arise and should still be treated as experimental. -Please make an issue or talk to the Gluon team on [discord](https://discord.quiltmc.org/toolchain) or on [the forum](https://forum.quiltmc.org) before -writing any PRs.** +Please make an issue or talk to the Gluon team on [discord](https://discord.muonmc.org/) before writing any PRs.** ## Repository structure @@ -22,6 +21,7 @@ The repository has 2 main parts: libraries. This keeps the buildscripts inside the `library` folder as minimal as possible; definitions of data rather than logic. + -### Core Library - -| Feature | Gluon | Fabric API | -|:----------------------------------|:---:|:-------------:| -| Auto Test Server argument | ✔ | ❌ | -| Event API | ✔ | ✔ | -| Event API - Phases | ✔ | ✔ | -| Event API - Events as Entrypoints | ✔ | ❌ | -| Gametest API | ✔ | ✔ | -| Initializer Entrypoints | ✔ | ✔ (in loader) | -| Networking API | ✔ | ✔ | - -#### Crash Report - -| Feature | Gluon | Fabric API | -|:-------------------------------|:---:|:----------:| -| Crash report extra context | ✔ | ✔ | -| Crash report extra context API | ✔ | ❌ | - -### Core - Lifecycle Events - -| Feature | Gluon | Fabric API | -|:---------------------------|:---:|:----------:| -| Client Lifecycle Events | ✔ | ✔ | -| Client Tick Events | ✔ | ✔ | -| Client World Tick Events | ✔ | ✔ | -| Client Block Entity Events | ❌ | ✔ | -| Client Chunk Events | ❌ | ✔ | -| Common Lifecycle Events | ❌ | ✔ | -| Server Lifecycle Events | ✔ | ✔ | -| Server Tick Events | ✔ | ✔ | -| Server World Load Events | ✔ | ✔ | -| Server World Tick Events | ✔ | ✔ | -| Server Block Entity Events | ❌ | ✔ | -| Server Chunk Events | ❌ | ✔ | - -### Core - Registry - -| Feature | Gluon | Fabric API | -|:--------------------------------------------|:---:|:----------:| -| Addition Events | ✔ | ✔ | -| Addition Events Helper | ✔ | ❌ | -| Registry Syncing | ✔ | ✔ | -| Registry Syncing - Exclude Specific Entries | ✔ | ❌ | - -### Core - Resource Loader - -| Feature | Gluon | Fabric API | -|:--------------------------------------|:---:|:--------------------------------:| -| Load mod resources. | ✔ | ✔ | -| Resource Loader Events | ✔ | ✔ (in lifecycle, non equivalent) | -| Built-in resource pack API | ✔ | ✔ | -| Programmer Art API | ✔ | ✔ | -| Group resource pack API | ✔ | 🙅 | -| Resource Pack Provider API | ✔ | ❌ | -| Resource Reloaders | ✔ | ✔ | -| Resource Reloaders - Advanced Sorting | ✔ | ❌ | -| Virtual Resource Packs | ✔ | ❌ | - -### Block Library - -| Feature | Gluon | Fabric API | -|:--------------------------------------------------------|:---:|:----------:| -| Extended Block Settings | ✔ | ✔ | -| Extended Material Builder | ✔ | ✔ | -| Block Render Layers API | ✔ | ✔ | -| All Block Constructors Are Public | ✔ | ✔ | -| Block Entity Type registration helper | ✔ | ✔ | -| Block Entity Type post-creation supported block editing | ✔ | 🙅 | -| Block Entity Syncing Helper | ✔ | ❌ | -| Block Content Registry - Flammable | ✔ | ✔ | -| Block Content Registry - Flammable (data-driven) | ✔ | 🙅 | -| Block Content Registry - Flattenable | ✔ | ✔ | -| Block Content Registry - Flattenable (data-driven) | ✔ | 🙅 | -| Block Content Registry - Oxidation | ✔ | ✔ | -| Block Content Registry - Oxidation (data-driven) | ✔ | 🙅 | -| Block Content Registry - Sculk Frequency | ✔ | ✔ | -| Block Content Registry - Sculk Frequency (data-driven) | ✔ | 🙅 | -| Block Content Registry - Strippable | ✔ | ✔ | -| Block Content Registry - Strippable (data-driven) | ✔ | 🙅 | -| Block Content Registry - Tileable | ❌ | ✔ | -| Block Content Registry - Tileable (data-driven) | ❌ | 🙅 | -| Block Content Registry - Waxing | ✔ | ✔ | -| Block Content Registry - Waxing (data-driven) | ✔ | 🙅 | - -### Data Library - -| Feature | Gluon | Fabric API | -|:----------------------------------------------------------------------|:------------------------------------------------------------------------------:|:-----------------:| -| Advancement Criterion Registration Helper | ✔ | ✔ | -| Recipe API | ✔ | 🙅 | -| Registry Entry Attachments | ✔ | 🙅 | -| Client-fallback/Client-only tags | ✔ | ✔ (fallback only) | -| Client-fallback/Client-only tags - integration within Vanilla methods | ✔ | 🙅 | -| Convention Tags | ❌ | ✔ | -| Data Generation | :construction: | ✔ | -| Loot Table API | ❌ | ✔ | -| Resource Conditions | ❌ | ✔ | -| Component API (like CCA or Forge capabilities) | [:construction:](https://github.com/QuiltMC/quilt-standard-libraries/pull/146) | ❌ | - -### Entity Library - -| Feature | Gluon | Fabric API | -|:--------------------------------|:---:|:----------:| -| EntityType registration helpers | ✔ | ✔ | -| Entity Events | ✔ | ✔ | -| Multipart Entity API | ✔ | ❌ | -| Point of interest helper | ✔ | ✔ | -| Status Effects API | ✔ | ❌ | -| Tracked Data Handler Registry | ✔ | ❌ | -| Trade offer API | ✔ | ✔ | - -### GUI Library - -| Feature | Gluon | Fabric API | -|:--------------------------|:--------------:|:----------:| -| Screen API | ✔ | ✔ | -| Item Tooltip Event | ✔ | ✔ | -| Tooltip Component - Event | ✔ | ✔ | -| Key Binds API | :construction: | ✔ | -| Screen Handler API | ❌ | ✔ | - -### Item Library - -| Feature | Gluon | Fabric API | -|:------------------------------------------------|:---:|:----------:| -| Item Extension - Bow | ✔ | ❌ | -| Item Extension - Crossbow | ✔ | ❌ | -| Item Groups | ❌ | ✔ | -| Item Settings | ✔ | ✔ | -| Item Settings - Custom Item Setting | ✔ | ❌ | -| Item Content Registry - Composter | ✔ | ✔ | -| Item Content Registry - Composter (data-driven) | ✔ | 🙅 | -| Item Content Registry - Fuel | ✔ | ✔ | -| Item Content Registry - Fuel (data-driven) | ✔ | 🙅 | - -### Management Library - -| Feature | Gluon | Fabric API | -|:------------------------|:---:|:----------:| -| Commands | ✔ | ✔ | -| Client Commands | ✔ | ✔ | -| Game Rules | ❌ | ✔ | -| Entity Selector Options | ✔ | ✔ | -| Message API | ✔ | ✔ | - -### Rendering Library - -| Feature | Gluon | Fabric API | -|:--------------------------------------------------|:--------------:|:-----------------:| -| Renderer API | ❌ | ✔ | -| Data Attachment | ❌ | ✔ | -| Hud Render API | ❌ | ✔ (limited Event) | -| Built-in Item Rendering | ❌ | ✔ | -| Block Entity Renderer Registry | ❌ | ✔ | -| Armor Rendering | ✔ | ✔ | -| Color Provider Registry | ❌ | ✔ | -| Entity Renderer Registry | ❌ | ✔ | -| Entity Model Layer Registry | ❌ | ✔ | -| Living Entity Feature Renderer Registration Event | ❌ | ✔ | -| Data-driven Entity Models | :construction: | 🙅 | -| Data-driven Animations | :construction: | 🙅 | -| World Render Events | ❌ | ✔ | -| Fluid Rendering | ❌ | ✔ | - -### Transfer Library - -| Feature | Gluon | Fabric API | -|:-------------|:--------------:|:-----------------:| -| Transfer API | ❌ | ✔ | - -### Worldgen Library - -| Feature | Gluon | Fabric API | -|:------------------------|:---:|:----------:| -| Biome Modifications API | ✔ | ✔ | -| Add Nether Biomes | ✔ | ✔ | -| Add End Biomes | ✔ | ✔ | -| Dimension API | ✔ | ✔ | -| Surface Rule API | ✔ | ❌ | - -### Miscellaneous Library - -| Feature | Gluon | Fabric API | -|:---------------|:------------------------------------------------------------------------------------------------------:|:----------:| -| Modded DFU API | ❌ | ❌ | -| API Lookup API | :construction: [(through Component API)](https://github.com/QuiltMC/quilt-standard-libraries/pull/146) | ✔ | - -[quilt]: https://quiltmc.org -[Mod loader: Quilt]: https://img.shields.io/badge/modloader-Quilt-9115ff?style=flat-square +[muon]: https://muonmc.org +[Mod loader: Muon]: https://img.shields.io/badge/modloader-Muon-62cd4b.svg?style=plastic diff --git a/UPDATING.md b/UPDATING.md index ff18bdc62..601920652 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -4,6 +4,9 @@ Whether it's bumping the Gluon version of porting Gluon to a new Minecraft version, the following steps should be taken: +## Updating the Changelog +Don't forget to update the [`CHANGELOG.md`](./CHANGELOG.md) with all additions, removals, changes, and fixes. + ## New Minecraft/Loader version Change the constants in the [Versions] class. All modules and libraries will use the specified Minecraft and loader