Skip to content

Commit e2c48ff

Browse files
committed
Merge branch 'refs/heads/1.20.1' into Port-1.19.2
# Conflicts: # Changelog.txt # common/src/generated/resources/.cache/a0215e79d0b720ef451ebefde67e867b1dd8939d # common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json # common/src/generated/resources/assets/create_pattern_schematics/lang/en_us.json # common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicPonderScenes.java # common/src/main/java/com/cak/pattern_schematics/foundation/mirror/PatternSchematicHandler.java # common/src/main/java/com/cak/pattern_schematics/mixin/AbstractContraptionEntityMixin.java # common/src/main/java/com/cak/pattern_schematics/mixin/SchematicToolBaseMixin.java # gradle.properties
2 parents 09c03ee + aa56e18 commit e2c48ff

22 files changed

+381
-266
lines changed

Changelog.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
1.1.3:
2+
- Fixed display bug, thanks to discord user @karolofgutovo for reporting
3+
- Created ponder system with 1 ponder about printing (contraption ponder coming soon)
4+
- (Technical) Created datagen
5+
-
6+
1.1.4:
7+
- Fixed a bug with deployers placing at the wrong offsets
8+
- Created bulk apply system to reduce pain of having to put a schematic on each individual deployer
9+
10+
1.1.5:
11+
- Fixed clone outlines rendering on a non-deployed schematic
12+
- Improved tool usage on pattern schematics (thanks @d4rkfl4sh for the suggestion)
13+
- Added ponder for contraption uses of schematics
14+
15+
1.1.6: (No functional changes)
16+
- Updated mod links in mods.toml and the fabric.mod.json
17+
- Forge now has the update checker configured
18+
- Fixed the copycats not displaying accurately in the ponder (after I failed to cover up my laziness thanks @d4rkfl4sh)
19+
20+
1.1.7:
21+
- Added shift control to the clone tool to help with large schematics
22+
23+
1.1.8:
24+
- Made the schematicannon result in the proper item (previously would give Create's schematic no matter what)
25+
- Added an indicator when applying a non positioned schematic to a contraption deployer

Changelog.txt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Join Discord Shameless Plug.png

11.5 KB
Loading

LICENSE

Lines changed: 21 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,21 @@
1-
Creative Commons Legal Code
2-
3-
CC0 1.0 Universal
4-
5-
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6-
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7-
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8-
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9-
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10-
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11-
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12-
HEREUNDER.
13-
14-
Statement of Purpose
15-
16-
The laws of most jurisdictions throughout the world automatically confer
17-
exclusive Copyright and Related Rights (defined below) upon the creator
18-
and subsequent owner(s) (each and all, an "owner") of an original work of
19-
authorship and/or a database (each, a "Work").
20-
21-
Certain owners wish to permanently relinquish those rights to a Work for
22-
the purpose of contributing to a commons of creative, cultural and
23-
scientific works ("Commons") that the public can reliably and without fear
24-
of later claims of infringement build upon, modify, incorporate in other
25-
works, reuse and redistribute as freely as possible in any form whatsoever
26-
and for any purposes, including without limitation commercial purposes.
27-
These owners may contribute to the Commons to promote the ideal of a free
28-
culture and the further production of creative, cultural and scientific
29-
works, or to gain reputation or greater distribution for their Work in
30-
part through the use and efforts of others.
31-
32-
For these and/or other purposes and motivations, and without any
33-
expectation of additional consideration or compensation, the person
34-
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35-
is an owner of Copyright and Related Rights in the Work, voluntarily
36-
elects to apply CC0 to the Work and publicly distribute the Work under its
37-
terms, with knowledge of his or her Copyright and Related Rights in the
38-
Work and the meaning and intended legal effect of CC0 on those rights.
39-
40-
1. Copyright and Related Rights. A Work made available under CC0 may be
41-
protected by copyright and related or neighboring rights ("Copyright and
42-
Related Rights"). Copyright and Related Rights include, but are not
43-
limited to, the following:
44-
45-
i. the right to reproduce, adapt, distribute, perform, display,
46-
communicate, and translate a Work;
47-
ii. moral rights retained by the original author(s) and/or performer(s);
48-
iii. publicity and privacy rights pertaining to a person's image or
49-
likeness depicted in a Work;
50-
iv. rights protecting against unfair competition in regards to a Work,
51-
subject to the limitations in paragraph 4(a), below;
52-
v. rights protecting the extraction, dissemination, use and reuse of data
53-
in a Work;
54-
vi. database rights (such as those arising under Directive 96/9/EC of the
55-
European Parliament and of the Council of 11 March 1996 on the legal
56-
protection of databases, and under any national implementation
57-
thereof, including any amended or successor version of such
58-
directive); and
59-
vii. other similar, equivalent or corresponding rights throughout the
60-
world based on applicable law or treaty, and any national
61-
implementations thereof.
62-
63-
2. Waiver. To the greatest extent permitted by, but not in contravention
64-
of, applicable law, Affirmer hereby overtly, fully, permanently,
65-
irrevocably and unconditionally waives, abandons, and surrenders all of
66-
Affirmer's Copyright and Related Rights and associated claims and causes
67-
of action, whether now known or unknown (including existing as well as
68-
future claims and causes of action), in the Work (i) in all territories
69-
worldwide, (ii) for the maximum duration provided by applicable law or
70-
treaty (including future time extensions), (iii) in any current or future
71-
medium and for any number of copies, and (iv) for any purpose whatsoever,
72-
including without limitation commercial, advertising or promotional
73-
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74-
member of the public at large and to the detriment of Affirmer's heirs and
75-
successors, fully intending that such Waiver shall not be subject to
76-
revocation, rescission, cancellation, termination, or any other legal or
77-
equitable action to disrupt the quiet enjoyment of the Work by the public
78-
as contemplated by Affirmer's express Statement of Purpose.
79-
80-
3. Public License Fallback. Should any part of the Waiver for any reason
81-
be judged legally invalid or ineffective under applicable law, then the
82-
Waiver shall be preserved to the maximum extent permitted taking into
83-
account Affirmer's express Statement of Purpose. In addition, to the
84-
extent the Waiver is so judged Affirmer hereby grants to each affected
85-
person a royalty-free, non transferable, non sublicensable, non exclusive,
86-
irrevocable and unconditional license to exercise Affirmer's Copyright and
87-
Related Rights in the Work (i) in all territories worldwide, (ii) for the
88-
maximum duration provided by applicable law or treaty (including future
89-
time extensions), (iii) in any current or future medium and for any number
90-
of copies, and (iv) for any purpose whatsoever, including without
91-
limitation commercial, advertising or promotional purposes (the
92-
"License"). The License shall be deemed effective as of the date CC0 was
93-
applied by Affirmer to the Work. Should any part of the License for any
94-
reason be judged legally invalid or ineffective under applicable law, such
95-
partial invalidity or ineffectiveness shall not invalidate the remainder
96-
of the License, and in such case Affirmer hereby affirms that he or she
97-
will not (i) exercise any of his or her remaining Copyright and Related
98-
Rights in the Work or (ii) assert any associated claims and causes of
99-
action with respect to the Work, in either case contrary to Affirmer's
100-
express Statement of Purpose.
101-
102-
4. Limitations and Disclaimers.
103-
104-
a. No trademark or patent rights held by Affirmer are waived, abandoned,
105-
surrendered, licensed or otherwise affected by this document.
106-
b. Affirmer offers the Work as-is and makes no representations or
107-
warranties of any kind concerning the Work, express, implied,
108-
statutory or otherwise, including without limitation warranties of
109-
title, merchantability, fitness for a particular purpose, non
110-
infringement, or the absence of latent or other defects, accuracy, or
111-
the present or absence of errors, whether or not discoverable, all to
112-
the greatest extent permissible under applicable law.
113-
c. Affirmer disclaims responsibility for clearing rights of other persons
114-
that may apply to the Work or any use thereof, including without
115-
limitation any person's Copyright and Related Rights in the Work.
116-
Further, Affirmer disclaims responsibility for obtaining any necessary
117-
consents, permissions or other rights required for any use of the
118-
Work.
119-
d. Affirmer understands and acknowledges that Creative Commons is not a
120-
party to this document and has no duty or obligation with respect to
121-
this CC0 or use of the Work.
1+
MIT License
2+
3+
Copyright (c) 2024 CakeGit
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 35 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,49 @@
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.
22+
[![Shameless Discord Plug](https://raw.githubusercontent.com/cakeGit/Pattern-Schematics-Multiloader/1.20.1/Join%20Discord%20Shameless%20Plug.png)](https://discord.gg/8uSV7b9M6K)
4423

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
24+
# Changelog (as of 1.1.8)
25+
1.1.3:
26+
- Fixed display bug, thanks to discord user @karolofgutovo for reporting
27+
- Created ponder system with 1 ponder about printing (contraption ponder coming soon)
28+
- (Technical) Created datagen
5229

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`.
30+
1.1.4:
31+
- Fixed a bug with deployers placing at the wrong offsets
32+
- Created bulk apply system to reduce pain of having to put a schematic on each individual deployer
5633

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.
34+
1.1.5:
35+
- Fixed clone outlines rendering on a non-deployed schematic
36+
- Improved tool usage on pattern schematics (thanks @d4rkfl4sh for the suggestion)
37+
- Added ponder for contraption uses of schematics
5938

60-
You're free to change your license: CC0 lets you do whatever you want. Base Create is MIT, for reference.
39+
1.1.6: (No functional changes)
40+
- Updated mod links in mods.toml and the fabric.mod.json
41+
- Forge now has the update checker configured
42+
- Fixed the copycats not displaying accurately in the ponder (after I failed to cover up my laziness thanks @d4rkfl4sh)
6143

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).
44+
1.1.7:
45+
- Added shift control to the clone tool to help with large schematics
6546

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.
47+
1.1.8:
48+
- Made the schematicannon result in the proper item (previously would give Create's schematic no matter what)
49+
- Added an indicator when applying a non positioned schematic to a contraption deployer

common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"create_pattern_schematics.contraption_application.applied_to": " oʇ ɔıʇɐɯǝɥɔs uɹǝʇʇɐd pǝıןddⱯ",
33
"create_pattern_schematics.contraption_application.deployers": ")s(ɹǝʎoןdǝp ",
4+
"create_pattern_schematics.contraption_application.not_positioned": "¡pǝuoıʇısod ʇou ɔıʇɐɯǝɥɔS :ɔıʇɐɯǝɥɔs ʎןddɐ ʇ,upןnoƆ",
45
"create_pattern_schematics.ponder.schematic_printing.header": "sɔıʇɐɯǝɥɔs uɹǝʇʇɐd ɥʇıʍ suɹǝʇʇɐd buıʇuıɹԀ",
56
"create_pattern_schematics.ponder.schematic_printing.text_1": "ǝɔɹnos ɐ sɐ ǝsn oʇ ɔıʇɐɯǝɥɔs ɐ ǝʌɐs ʇsɹıɟ ʇsnɯ noʎ 'sɔıʇɐɯǝɥɔs uɹǝʇʇɐd ǝsn o⟘",
67
"create_pattern_schematics.ponder.schematic_printing.text_2": "ɔıʇɐɯǝɥɔs uɹǝʇʇɐd ʎʇdɯǝ uɐ ɥʇıʍ ǝןqɐʇ ɔıʇɐɯǝɥɔs ɐ ǝsn 'uǝɥ⟘",
@@ -18,7 +19,7 @@
1819
"create_pattern_schematics.schematic.tool.clone": "ǝuoןƆ",
1920
"create_pattern_schematics.schematic.tool.clone.description.0": "ɔıʇɐɯǝɥɔs pǝʇɔǝןǝs ǝɥʇ sʇɐǝdǝᴚ",
2021
"create_pattern_schematics.schematic.tool.clone.description.1": "˙ʇı ʇɐǝdǝɹ oʇ ןןoɹɔS-]Ꞁᴚ⟘Ɔ[ puɐ ɔıʇɐɯǝɥɔS ǝɥʇ ʇɐ ʇuıoԀ",
21-
"create_pattern_schematics.schematic.tool.clone.description.2": "",
22+
"create_pattern_schematics.schematic.tool.clone.description.2": "buıɔɐɟ ǝɹɐ noʎ uoıʇɔǝɹıp ǝɥʇ uı ǝuoןɔ oʇ ןןoɹɔS-]⟘ℲIHS+Ꞁᴚ⟘Ɔ[ 'ʎןǝʌıʇɐuɹǝʇןⱯ",
2223
"create_pattern_schematics.schematic.tool.clone.description.3": "",
2324
"item.create_pattern_schematics.empty_pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ ʎʇdɯƎ",
2425
"item.create_pattern_schematics.pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ"

0 commit comments

Comments
 (0)