Skip to content

Commit b5cb359

Browse files
authored
Update README.md
1 parent efb7848 commit b5cb359

File tree

1 file changed

+14
-84
lines changed

1 file changed

+14
-84
lines changed

README.md

+14-84
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,22 @@
1-
# Create Multi-Loader Addon Template
2-
A template based on Architectury for creating addons for Create on Forge, Fabric, and Quilt, simultaneously.
1+
# Warning to anyone who wishes to contribute:
2+
This code has a lot of mixins and dodgy mirror classes,
3+
View at your own risk,
4+
Same goes for anyone who wants to use this code for reference (mit so go at it if you want),
35

4-
## How does it work?
5-
This template is powered by the [Architectury](https://github.com/architectury) toolchain.
6-
Architectury allows developers to create the majority of their mod in common, loader-agnostic code that
7-
only touches Minecraft itself. This can be found in the [common](common) subproject. Each loader target
8-
also has its own subproject: those being [forge](forge) and [fabric](fabric). (Quilt support: you
9-
shouldn't need anything special and the Fabric version should work fine, but it is possible to add a
10-
`quilt` subproject if needed.) These loader-specific projects bridge between their respective loaders
11-
and the common code.
6+
# Features
7+
## Infinite Contraption Construction [(Development Test Demo)](https://www.youtube.com/watch?v=EhZnNdxGKrg&ab_channel=SomeGuyCalledCak)
128

13-
This system can be extended to work with Create as well as plain Minecraft. The common project gives
14-
access to most of Create, Registrate, and Flywheel.
9+
Pattern Schematics can be placed on trains, gantry carriages or any other contraption to infinitely build iterations of the schematic.
1510

16-
## Limitations
17-
Minecraft has a lot of differences across loaders. You'll need to manage these differences using
18-
abstractions. Architectury does provide an [API](https://github.com/architectury/architectury-api)
19-
which you may use if desired, but it means you have another dependency to worry about.
11+
![Schematic Printing Explanation](https://cdn.modrinth.com/data/cpqKG67r/images/f746aa1bb02aee9b78175aab67606b7f92b0e07e.png)
2012

21-
This also applies to Create, which underwent significant changes in porting to Fabric. This means a lot
22-
of it will be different between loaders. The `common` project is only capable of referencing the code
23-
on one loader (Fabric in this template), so you should be careful to not reference things that don't
24-
exist on the other one. Test often, and check the code on both loaders. When you do need to use these
25-
changed things, that leads us to...
13+
## Building Patterns [(Development Test Demo)](https://www.youtube.com/watch?v=jGvMWfpR8nQ&ab_channel=SomeGuyCalledCak)
2614

27-
## Solutions
28-
There's a bunch of ways to work around the differences.
15+
These pattern schematics can be used to repeat existing schematics, such as repeating a bridge to make it longer! Print in creative or put into a schematicannon to build!
2916

30-
First is Architectury API. It provides cross-loader abstractions that can be used in common code for
31-
a decent amount of Minecraft. However, it means you need to worry about another dependency. It also
32-
doesn't really help with Create.
17+
![Printing Demo](https://cdn.modrinth.com/data/cpqKG67r/images/b3043b120d7f7d16a3e9f6b6646cc8bd69f29d44.png)
3318

34-
Next is the `@ExpectPlatform` annotation. It allows the implementation of a method to be replaced
35-
at compile time per-loader, letting you make your own abstractions. It is part of the Architectury
36-
plugin and does not cause an extra dependency. However, it can only be placed on static methods. See
37-
[ExampleExpectPlatform](common/src/main/java/net/examplemod/ExampleExpectPlatform.java) in common
38-
for an example.
19+
## ! Please report any issues to the github !
20+
This is a new mod, and may have some bugs which will need fixing,
3921

40-
Finally, simply have a common interface with implementation based on the loader. You might have a
41-
`PlatformHelper` common interface, with a static instance somewhere. On Fabric, set it to a
42-
`FabricPlatformHelper`, and a `ForgePlatformHelper` on Forge. The implementation is kept as a detail
43-
so you can use your helper from common code.
44-
45-
## Features
46-
- Access to Create and all of its dependencies on both loaders
47-
- Mojang Mappings base, with Quilt Mappings and Parchment providing Javadoc and parameters
48-
- VineFlower decompiler for high quality Minecraft sources: `gradlew genSourcesWithVineflower`
49-
- GitHub Actions automatic build workflow
50-
- Machete Gradle plugin to shrink jar file sizes
51-
- Developer QOL: Mod Menu, LazyDFU, JEI
52-
53-
## Use
54-
Ready to get started? First you'll want to create a new repository using this template. You can do it
55-
through GitHub with the big green button near the top that says `Use this template`.
56-
57-
Once you've got your repository set up, you'll want to change all the branding to your mod instead
58-
of the template. Every `examplemod`, every placeholder.
59-
60-
You're free to change your license: CC0 lets you do whatever you want. Base Create is MIT, for reference.
61-
62-
Replace this README with information about your addon. Give it an icon and change the metadata in the
63-
[fabric.mod.json](fabric/src/main/resources/fabric.mod.json) and the
64-
[mods.toml](forge/src/main/resources/META-INF/mods.toml).
65-
66-
Configure your dependencies. Each subproject `build.gradle` has optional dependencies commented.
67-
Either remove them or uncomment them. For Fabric, set your preferred recipe viewer with
68-
`fabric_recipe_viewer` in the root [gradle.properties](gradle.properties).
69-
70-
Remember to remove any example code you don't need anymore.
71-
72-
Get modding!
73-
74-
## Notes
75-
- Architectury does not merge jars; When you build, you get separate jars for each loader.
76-
There is an independent project that can merge these into one if desired called
77-
[Forgix](https://github.com/PacifistMC/Forgix).
78-
- The file names and versions of jars are configured in the root [build.gradle](build.gradle). Feel
79-
free to change the format if desired, but make sure it follows SemVer to work well on Fabric.
80-
- When publishing, you should always let GitHub Actions build your release jars. These builds will
81-
have build number metadata, and will be compressed by the Machete plugin.
82-
83-
## Other Templates
84-
- [Fabric-only template](https://github.com/Fabricators-of-Create/create-fabric-addon-template)
85-
- [Forge-only template](https://github.com/kotakotik22/CreateAddonTemplate)
86-
87-
## Help
88-
Questions? Join us in the #devchat channel of the [Create Discord](https://discord.com/invite/hmaD7Se).
89-
90-
## License
91-
92-
This template is available under the CC0 license. Feel free to do as you wish with it.
22+
# Changelog (as of 1.1.8)

0 commit comments

Comments
 (0)