Skip to content

Commit a51dccf

Browse files
authored
Merge branch 'GregTechCEu:1.20.1' into 1.20.1
2 parents f0648e9 + 28bff24 commit a51dccf

File tree

892 files changed

+21194
-17206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

892 files changed

+21194
-17206
lines changed

.github/pull_request_template.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ _Any implementations in this PR that should be carefully looked over, or that co
99
_A short description of what this PR added/fixed/changed/removed._
1010
_For correct linking of issues please use any of the Closes/Fixes/Resolves keywords. Example: When a PR is fixing a bug use "Fixes: #number-of-bug"_
1111

12+
## How Was This Tested
13+
_This section is for screenshots, code snippets or descriptions of how the PR was tested in code or in game to ensure correctness._
14+
1215
## Additional Information
1316
_This section is for screenshots to demonstrate any GUI or rendering changes, or any other additional information that reviewers should be aware of._
1417

.github/workflows/deploy-pages.yml

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@ name: Publish docs via GitHub Pages
22
on:
33
workflow_dispatch:
44
push:
5-
branches: [1.20.1]
5+
branches: ["1.20.1", "1.21"]
66
paths: ['docs/**']
77

88
permissions:
9-
contents: read
10-
pages: write
11-
id-token: write
9+
contents: write
1210

1311
concurrency:
1412
group: 'pages'
@@ -24,33 +22,17 @@ jobs:
2422
steps:
2523
- uses: actions/checkout@v4
2624
with:
27-
ref: '1.20.1'
28-
sparse-checkout: './docs'
25+
ref: '${{ github.ref_name }}'
26+
fetch-depth: 0
2927
- uses: actions/setup-python@v4
3028
with:
3129
python-version: '3.11'
3230
cache: 'pip'
33-
- run: pip install -r ./requirements.txt
34-
- uses: actions/cache@v4
35-
with:
36-
key: 'mkdocs-cache'
37-
path: './docs/.cache'
38-
- name: Build static files
39-
id: mkdocs
40-
run: mkdocs build
41-
- name: Upload pages as artifact
42-
id: artifact
43-
uses: actions/upload-pages-artifact@v3
44-
with:
45-
path: './docs/site/'
46-
47-
deploy:
48-
runs-on: ubuntu-latest
49-
needs: build
50-
environment:
51-
name: github-pages
52-
url: ${{ steps.deployment.outputs.page_url }}
53-
steps:
54-
- name: Deploy Pages
55-
id: deployment
56-
uses: actions/deploy-pages@v4
31+
- name: Install packages
32+
run: pip install -r ./requirements.txt
33+
- name: Set git username and password
34+
run: git config user.name 'github-actions[bot]'; git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
35+
- name: Deploy pages to gh-pages branch
36+
run: mike deploy "${{ github.ref_name }}" --push
37+
- name: Ensure 1.20.1 is the default version
38+
run: mike set-default 1.20.1 --push

.github/workflows/manage-pr-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
with:
3131
mode: minimum
3232
count: 1
33-
labels: 'type: feature, type: bugfix, type: refactor, type: translation, ignore changelog'
33+
labels: 'type: feature, type: bugfix, type: refactor, type: translation, type: tests, ignore changelog'
3434
exit_type: failure
3535

3636
- name: Check for Required Release Label # require exactly one of these labels

CHANGELOG.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,125 @@
11
# ChangeLog
22

3+
## Version [v7.5.2](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.5.1-1.20.1...v7.5.2-1.20.1)
4+
### Fixed
5+
6+
- Turn groupColor field value into optional field codec by @jurrejelle in [#4593](https://github.com/GregTechCEu/GregTech-Modern/pull/4593)
7+
- Fix wrong argument check for 'redstone set #' placeholder by @FyreDrakon in [#4595](https://github.com/GregTechCEu/GregTech-Modern/pull/4595)
8+
- Fix ore vein consistency by sorting the cache by @jurrejelle in [#4602](https://github.com/GregTechCEu/GregTech-Modern/pull/4602)
9+
- Fix CR being displayed on CM when pasting text on windows by @TarLaboratories in [#4603](https://github.com/GregTechCEu/GregTech-Modern/pull/4603)
10+
11+
12+
## Version [v7.5.1](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.5.0-1.20.1...v7.5.1-1.20.1)
13+
### Fixed
14+
15+
- Fix access protection issue in netherite tools + lamprenderer issues by @jurrejelle in [#4579](https://github.com/GregTechCEu/GregTech-Modern/pull/4579)
16+
17+
18+
## Version [v7.5.0](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.4.1-1.20.1...v7.5.0-1.20.1)
19+
### Added
20+
21+
- 7.4.x Haze small fusion ctm tweaks bc it was bothering me by @HazeVista in [#4432](https://github.com/GregTechCEu/GregTech-Modern/pull/4432)
22+
- Add option to display temperatures in Celsius by @TarLaboratories in [#3839](https://github.com/GregTechCEu/GregTech-Modern/pull/3839)
23+
- Spray cans with AE2 IColorableBlockEntity support by @zetrock1 in [#4264](https://github.com/GregTechCEu/GregTech-Modern/pull/4264)
24+
- Rework machine copy/paste card to support copying pipes, covers, cover settings, and more machine settings by @gustovafing in [#4272](https://github.com/GregTechCEu/GregTech-Modern/pull/4272)
25+
- Add Hotkey for StepAssist by @zetrock1 in [#4291](https://github.com/GregTechCEu/GregTech-Modern/pull/4291)
26+
- Add HV, IV screwdriver and chainsaw by @zetrock1 in [#4310](https://github.com/GregTechCEu/GregTech-Modern/pull/4310)
27+
- Jade battery provider by @zetrock1 in [#4317](https://github.com/GregTechCEu/GregTech-Modern/pull/4317)
28+
- Add CC: Tweaked peripheral for ghost programmed circuit by @blockninja124 in [#4468](https://github.com/GregTechCEu/GregTech-Modern/pull/4468)
29+
- Trinium spring by @zetrock1 in [#4470](https://github.com/GregTechCEu/GregTech-Modern/pull/4470)
30+
- Output bus filtering by @zetrock1 in [#4337](https://github.com/GregTechCEu/GregTech-Modern/pull/4337)
31+
- Allow rendering other modules from placeholders by @TarLaboratories in [#3900](https://github.com/GregTechCEu/GregTech-Modern/pull/3900)
32+
- Add gem slurry from purified ore recipes by @SpicyNoodle5 in [#4413](https://github.com/GregTechCEu/GregTech-Modern/pull/4413)
33+
- Recipe Fail Reason Display by @illuciaz23 in [#4487](https://github.com/GregTechCEu/GregTech-Modern/pull/4487)
34+
- Add biomeTag recipe condition by @chloecat34 in [#4419](https://github.com/GregTechCEu/GregTech-Modern/pull/4419)
35+
36+
### Fixed
37+
38+
- Fix overwriting FOV when on concrete by @zetrock1 in [#4446](https://github.com/GregTechCEu/GregTech-Modern/pull/4446)
39+
- Stop placeholder execution when an exception is encountered by @TarLaboratories in [#4455](https://github.com/GregTechCEu/GregTech-Modern/pull/4455)
40+
- Fix tank valve info by @zetrock1 in [#4454](https://github.com/GregTechCEu/GregTech-Modern/pull/4454)
41+
- Fix voltage display by @illuciaz23 in [#4462](https://github.com/GregTechCEu/GregTech-Modern/pull/4462)
42+
- Fixed Multi Smelter texture again. by @Conity723 in [#4469](https://github.com/GregTechCEu/GregTech-Modern/pull/4469)
43+
- Terminal tooltip change to ensure consistent terminology by @HazeVista in [#4458](https://github.com/GregTechCEu/GregTech-Modern/pull/4458)
44+
- Only allow http and https by @TarLaboratories in [#4457](https://github.com/GregTechCEu/GregTech-Modern/pull/4457)
45+
- Add check to not cache invalid recipes by @jurrejelle in [#4486](https://github.com/GregTechCEu/GregTech-Modern/pull/4486)
46+
- Remove BlockEntity Check in MinerLogic by @lilpaladin1 in [#4488](https://github.com/GregTechCEu/GregTech-Modern/pull/4488)
47+
- Fix autogenerating mortar recipes by @jurrejelle in [#4498](https://github.com/GregTechCEu/GregTech-Modern/pull/4498)
48+
- Replace mandatory air with any in blast chiler structure by @jurrejelle in [#4502](https://github.com/GregTechCEu/GregTech-Modern/pull/4502)
49+
- Fix CME with parts and partpositions when calling getParts in addedToController by @jurrejelle in [#4505](https://github.com/GregTechCEu/GregTech-Modern/pull/4505)
50+
- Fix missing/invalid pipe model issues by @screret in [#4530](https://github.com/GregTechCEu/GregTech-Modern/pull/4530)
51+
- Fix bug in NBTPredicateIngredient serializer by @Mqrius in [#4536](https://github.com/GregTechCEu/GregTech-Modern/pull/4536)
52+
- Fix dust disassembly recipes by @TarLaboratories in [#4456](https://github.com/GregTechCEu/GregTech-Modern/pull/4456)
53+
- Fix pipes missing break particle textures by @screret in [#4533](https://github.com/GregTechCEu/GregTech-Modern/pull/4533)
54+
- Simplify material block models and fix issues they had with shaders by @screret in [#4532](https://github.com/GregTechCEu/GregTech-Modern/pull/4532)
55+
- Fix pipes' block break animation being the wrong shape by @screret in [#4543](https://github.com/GregTechCEu/GregTech-Modern/pull/4543)
56+
- Fixed tooltip order for Large Assembler by @HazeVista in [#4552](https://github.com/GregTechCEu/GregTech-Modern/pull/4552)
57+
- Match Painted Output Busses to Painted Input Busses by @DilithiumThoride in [#4273](https://github.com/GregTechCEu/GregTech-Modern/pull/4273)
58+
- Improve bedrock vein randomness by @Gaider10 in [#4574](https://github.com/GregTechCEu/GregTech-Modern/pull/4574)
59+
60+
### Changed
61+
62+
- Two-Phase Recipe Addition System by @TechLord22 in [#3981](https://github.com/GregTechCEu/GregTech-Modern/pull/3981)
63+
- Correction and update of the new uk_ua by @MetenBouldry in [#4452](https://github.com/GregTechCEu/GregTech-Modern/pull/4452)
64+
- Use Generic Builder pattern for MachineBuilder by @jurrejelle in [#4422](https://github.com/GregTechCEu/GregTech-Modern/pull/4422)
65+
- Distribute display voltage logic to machine implementations by @toapuro in [#4459](https://github.com/GregTechCEu/GregTech-Modern/pull/4459)
66+
- DFS stack-based recipe lookup implementation by @jurrejelle in [#3986](https://github.com/GregTechCEu/GregTech-Modern/pull/3986)
67+
- Pipe model rework by @screret in [#4283](https://github.com/GregTechCEu/GregTech-Modern/pull/4283)
68+
- Remove muffler hatch requirement from Large Distillery by @GirixK in [#4195](https://github.com/GregTechCEu/GregTech-Modern/pull/4195)
69+
70+
71+
## Version [v7.4.1](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.4.0-1.20.1...v7.4.1-1.20.1)
72+
### Added
73+
74+
- Improvements to Sodalite and Lazurite by @htmlcsjs in [#4297](https://github.com/GregTechCEu/GregTech-Modern/pull/4297)
75+
- Allow accessing block nbt from placeholders by @TarLaboratories in [#4161](https://github.com/GregTechCEu/GregTech-Modern/pull/4161)
76+
- Fix blackstone and tuff ores not dropping dusts by @JuiceyBeans in [#4376](https://github.com/GregTechCEu/GregTech-Modern/pull/4376)
77+
- Make netherite tools and items fire resistant by @JuiceyBeans in [#4378](https://github.com/GregTechCEu/GregTech-Modern/pull/4378)
78+
- Jade support for Long Distance Pipeline Endpoints by @JuiceyBeans in [#4420](https://github.com/GregTechCEu/GregTech-Modern/pull/4420)
79+
80+
### Fixed
81+
82+
- Fix vanilla fuel not working in boilers by @jurrejelle in [#4249](https://github.com/GregTechCEu/GregTech-Modern/pull/4249)
83+
- Fix manual mode for item/fluid filter covers and conveyors/pumps by @programmer3481 in [#4245](https://github.com/GregTechCEu/GregTech-Modern/pull/4245)
84+
- no more z fighting by @Spicierspace153 in [#4240](https://github.com/GregTechCEu/GregTech-Modern/pull/4240)
85+
- Fix #4154 Charcoal Pile Igniter by @zetrock1 in [#4246](https://github.com/GregTechCEu/GregTech-Modern/pull/4246)
86+
- Add tooltips for link covers by @zetrock1 in [#4265](https://github.com/GregTechCEu/GregTech-Modern/pull/4265)
87+
- Large Boiler throttle modifies burn time of current fuel by @DilithiumThoride in [#4258](https://github.com/GregTechCEu/GregTech-Modern/pull/4258)
88+
- Fix scythe not breaking items in an AOE by @Ujhik in [#4207](https://github.com/GregTechCEu/GregTech-Modern/pull/4207)
89+
- Fix GT Capes not rendering in multiplayer by @DilithiumThoride in [#4271](https://github.com/GregTechCEu/GregTech-Modern/pull/4271)
90+
- Fix dupes of Carbon dust and Coal dust by @zetrock1 in [#4301](https://github.com/GregTechCEu/GregTech-Modern/pull/4301)
91+
- rework the check for decomposition amounts by @jonasGajdosikas in [#4298](https://github.com/GregTechCEu/GregTech-Modern/pull/4298)
92+
- Fix ghost circuit in item detector by @zetrock1 in [#4293](https://github.com/GregTechCEu/GregTech-Modern/pull/4293)
93+
- Fixes shiny material set double plates. by @Flare32 in [#4213](https://github.com/GregTechCEu/GregTech-Modern/pull/4213)
94+
- Add directional setting UI and fix Machine UI TitleBar by @remakefactory in [#4238](https://github.com/GregTechCEu/GregTech-Modern/pull/4238)
95+
- KubeJS Duration Check by @YoungOnionMC in [#4327](https://github.com/GregTechCEu/GregTech-Modern/pull/4327)
96+
- Fixes some cases where handleRecipe() succeeds when it should fail by @DilithiumThoride in [#4300](https://github.com/GregTechCEu/GregTech-Modern/pull/4300)
97+
- Allow tags in shaped recipes to get recycle info by @jurrejelle in [#4292](https://github.com/GregTechCEu/GregTech-Modern/pull/4292)
98+
- Prevent clientside state mutations in QuarkTechSuite helmet by @Mqrius in [#4322](https://github.com/GregTechCEu/GregTech-Modern/pull/4322)
99+
- (Docs) Fix GTValues.VA being used as a function in material property modification, add reference to coil temps in Material Properties by @carbonatek in [#4338](https://github.com/GregTechCEu/GregTech-Modern/pull/4338)
100+
- Update spotless to 8.1.0 by @Reabstraction in [#4323](https://github.com/GregTechCEu/GregTech-Modern/pull/4323)
101+
- PumpBiomeModifier - change priority of tags by @zetrock1 in [#4369](https://github.com/GregTechCEu/GregTech-Modern/pull/4369)
102+
- Make fuel jetpacks work on servers by @Mqrius in [#4341](https://github.com/GregTechCEu/GregTech-Modern/pull/4341)
103+
- Fix facade cover json by @jurrejelle in [#4418](https://github.com/GregTechCEu/GregTech-Modern/pull/4418)
104+
- Correct Data Stick interaction handling by @remakefactory in [#4409](https://github.com/GregTechCEu/GregTech-Modern/pull/4409)
105+
- Fixes to overlay textures on some machines. by @Conity723 in [#4403](https://github.com/GregTechCEu/GregTech-Modern/pull/4403)
106+
- Fix {fromAscii} placeholder by @TarLaboratories in [#4392](https://github.com/GregTechCEu/GregTech-Modern/pull/4392)
107+
- Fix rotor holder Z-fighting by @zetrock1 in [#4335](https://github.com/GregTechCEu/GregTech-Modern/pull/4335)
108+
- Refactor naquadah reactor overlays to a workableMultiblockMachineCasing compatible format by @jonasGajdosikas in [#4353](https://github.com/GregTechCEu/GregTech-Modern/pull/4353)
109+
- Fix ranged output items voiding if there wasn't enough output space by @DilithiumThoride in [#4290](https://github.com/GregTechCEu/GregTech-Modern/pull/4290)
110+
- Add recipe for Copper Ingot disassembling by @esmenard in [#4399](https://github.com/GregTechCEu/GregTech-Modern/pull/4399)
111+
- Fix multiblock controller rotation overlay logic by @jkieberking in [#4199](https://github.com/GregTechCEu/GregTech-Modern/pull/4199)
112+
- Add missing rock types to initializeCobbleReplacements() by @Pyritie in [#4329](https://github.com/GregTechCEu/GregTech-Modern/pull/4329)
113+
114+
### Changed
115+
116+
- Large Boiler throttle modifies burn time of current fuel by @DilithiumThoride in [#4258](https://github.com/GregTechCEu/GregTech-Modern/pull/4258)
117+
- ja_jp fix by @code-onigiri in [#4319](https://github.com/GregTechCEu/GregTech-Modern/pull/4319)
118+
- Change out LDLib client side check to GTCEu one by @jurrejelle in [#4365](https://github.com/GregTechCEu/GregTech-Modern/pull/4365)
119+
- Update uk_ua.json by @StarmanMine142 in [#4411](https://github.com/GregTechCEu/GregTech-Modern/pull/4411)
120+
- Port existing keybinds to new system by @TechLord22 in [#4069](https://github.com/GregTechCEu/GregTech-Modern/pull/4069)
121+
122+
3123
## Version [v7.4.0](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.3.0-1.20.1...v7.4.0-1.20.1)
4124
### Added
5125

build.gradle

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
id 'eclipse'
55
id 'idea'
66
id 'maven-publish'
7+
id 'jacoco'
78
alias libs.plugins.modDevGradle
89
//alias libs.plugins.shadow
910
alias libs.plugins.spotless
@@ -98,3 +99,34 @@ tasks.withType(JavaCompile).configureEach {
9899
lombok {
99100
version = "1.18.38"
100101
}
102+
103+
jacoco {
104+
applyTo runGameTestServer
105+
}
106+
107+
jacocoTestReport {
108+
doFirst {
109+
try {
110+
runGameTestServer.exec()
111+
} catch (RuntimeException ignored) {}
112+
}
113+
doLast {
114+
println "Coverage report location:"
115+
println " - file://${layout.buildDirectory.dir('coverage').map(a -> a.file('index.html')).get()}"
116+
println " - file://${layout.buildDirectory.dir('coverage').map(a -> a.file('coverage.xml')).get()}"
117+
}
118+
executionData runGameTestServer
119+
sourceSets sourceSets.test
120+
reports {
121+
csv.required = false
122+
xml.required = true
123+
html.outputLocation = layout.buildDirectory.dir('coverage')
124+
xml.outputLocation = layout.buildDirectory.dir('coverage').map(a -> a.file('coverage.xml'))
125+
}
126+
afterEvaluate {
127+
classDirectories.setFrom(files(classDirectories.files.collect {
128+
fileTree(dir: it, exclude: '**/client/**')
129+
fileTree(dir: it, exclude: '**/mixins/**')
130+
}))
131+
}
132+
}

dependencies.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ dependencies {
2222
modCompileOnly(forge.bundles.rei)
2323
modCompileOnly(forge.emi)
2424

25-
// WAILA-likes
26-
modCompileOnly(forge.theoneprobe)
25+
// Jade (WAILA)
2726
modCompileOnly(forge.jade)
2827

2928
// Curios

docs/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,8 @@ mkdocs serve
7979
The following plugins for MkDocs are being used:
8080
- https://squidfunk.github.io/mkdocs-material/
8181
- https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin
82+
83+
## Deployment
84+
The hosted documentation is found on the `gh-pages` branch of the repository. [Mike](https://github.com/jimporter/mike) is used to deploy both the 1.20.1 and 1.21.1 documentation on the same site through Github Actions.
85+
86+
When working on the docs locally, the plain `mkdocs` commands should be used to view the changes made to the version of the docs you are currently working on, like the previously mentioned `mkdocs serve`.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: "Annotations"
3+
---
4+
5+
# Annotations
6+
The following annotations define the sync/save behaviour for an `ISyncManaged` object.
7+
8+
### `@SaveField`
9+
10+
The `@SaveField` annotation defines a field that should be saved to the server. `nbtKey` is optional, the key will default to the field name.
11+
```java
12+
@SaveField(nbtKey="nbtKeyToSaveTo")
13+
public int mySaveInt = 10;
14+
```
15+
16+
### `@SyncToClient`
17+
18+
The `@SyncToClient` annotation defines a field with a value that should be synced to clients.
19+
20+
!!! warning
21+
Client sync fields **do not** automatically detect changes. When changing a client sync field, call `ISyncManaged.getSyncDataHolder().markClientSyncFieldDirty(FIELD_NAME)`
22+
```java
23+
@SaveField(nbtKey="nbtKeyToSaveTo")
24+
@SyncToClient
25+
public int mySaveAndSyncInt = 10;
26+
27+
@SyncToClient
28+
@RerenderOnChanged
29+
public long mySyncRerenderLong = 10000L;
30+
31+
public void serverTick() {
32+
int newIntValue = getNewIntValue();
33+
long newLongValue = getNewLongValue();
34+
if (mySaveAndSyncInt != newIntValue) {
35+
mySaveAndSyncInt = newIntValue;
36+
getSyncDataHolder().markClientSyncFieldDirty("mySaveAndSyncInt");
37+
}
38+
if (mySyncRerenderLong != newLongValue) {
39+
mySyncRerenderLong = newLongValue;
40+
getSyncDataHolder().markClientSyncFieldDirty("mySyncRerenderLong");
41+
}
42+
}
43+
```
44+
45+
### `@ClientFieldChangeListener` and `@RerenderOnChanged`
46+
47+
The `@ClientFieldChangeListener` annotation defines a method to be called on the client when a client sync field has changed value;
48+
49+
Annotating a `@SyncToClient` field with `@RerenderOnChanged` will cause clients to rerender the block entity when this field changes.
50+
51+
```java
52+
@SyncToClient
53+
@SaveField
54+
@RerenderOnChanged
55+
public boolean isWorkingEnabled = true;
56+
57+
@ClientFieldChangeListener(fieldName="isWorkingEnabled")
58+
public void isWorkingChanged() {
59+
setRenderState(getRenderState().setValue(GTMachineModelProperties.IS_WORKING_ENABLED, isWorkingEnabled));
60+
}
61+
```

0 commit comments

Comments
 (0)