Skip to content

Commit 708100e

Browse files
committed
migrate to new mixins
- update bs - update deps - make gradlew executeable - migrate to new mixins
1 parent 44b87f6 commit 708100e

9 files changed

Lines changed: 35 additions & 140 deletions

File tree

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
3535
*/
3636
dependencies {
37-
implementation("com.github.GTNewHorizons:GTNHLib:0.6.21:dev")
37+
implementation("com.github.GTNewHorizons:GTNHLib:0.6.37:dev")
3838
devOnlyNonPublishable(rfg.deobf("curse.maven:the-erebus-220698:2305035"))
3939
compileOnly(rfg.deobf("curse.maven:dimensional-doors-legacy-404239:4967772"))
4040
compileOnly(rfg.deobf(project.files("libs/dimdoors-legacy.jar")))

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ modrinthProjectId = 7403dfh4
142142
# type can be one of [project, version],
143143
# and the name is the Modrinth project or version slug/id of the other mod.
144144
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
145-
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
145+
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
146146
modrinthRelations =
147147

148148
# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.

gradle/wrapper/gradle-wrapper.jar

122 Bytes
Binary file not shown.

gradlew

100644100755
Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ pluginManagement {
1717
}
1818

1919
plugins {
20-
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.38'
20+
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.41'
2121
}

src/main/java/de/pilz/alternativechunkloading/core/AlternativeChunkloadingCore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import java.util.Map;
55
import java.util.Set;
66

7-
import com.gtnewhorizon.gtnhlib.mixin.IMixins;
87
import com.gtnewhorizon.gtnhmixins.IEarlyMixinLoader;
8+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
99

1010
import cpw.mods.fml.common.DummyModContainer;
1111
import cpw.mods.fml.common.ModMetadata;

src/main/java/de/pilz/alternativechunkloading/core/AlternativeChunkloadingLateMixins.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import java.util.List;
44
import java.util.Set;
55

6-
import com.gtnewhorizon.gtnhlib.mixin.IMixins;
76
import com.gtnewhorizon.gtnhmixins.ILateMixinLoader;
87
import com.gtnewhorizon.gtnhmixins.LateMixin;
8+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
99

1010
import de.pilz.alternativechunkloading.mixins.Mixins;
1111

Lines changed: 28 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,44 @@
11
package de.pilz.alternativechunkloading.mixins;
22

3-
import java.util.List;
43
import java.util.function.Supplier;
54

6-
import com.gtnewhorizon.gtnhlib.mixin.IMixins;
7-
import com.gtnewhorizon.gtnhlib.mixin.ITargetedMod;
8-
import com.gtnewhorizon.gtnhlib.mixin.MixinBuilder;
9-
import com.gtnewhorizon.gtnhlib.mixin.Phase;
10-
import com.gtnewhorizon.gtnhlib.mixin.Side;
11-
import com.gtnewhorizon.gtnhlib.mixin.TargetedMod;
5+
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
6+
import com.gtnewhorizon.gtnhmixins.builders.MixinBuilder;
127

138
import de.pilz.alternativechunkloading.configuration.ConfigBetterChunkloading;
149
import de.pilz.alternativechunkloading.configuration.ConfigFixes;
1510

1611
public enum Mixins implements IMixins {
1712

18-
VANILLA_MODIFY_FIX_STRUCTURE_GENERATION(
19-
new MixinBuilder("Modifies provideChunk to block unallowed requests.").addTargetedMod(TargetedMod.VANILLA)
20-
.setSide(Side.BOTH)
21-
.setPhase(Phase.EARLY)
22-
.setApplyIf(() -> ConfigBetterChunkloading.enable && ConfigBetterChunkloading.disableForPopulation)
23-
.addMixinClasses("minecraft.MixinChunkProviderServer", "minecraft.MixinChunk")),
24-
VANILLA_FIX_NETHER_PORTAL_GENERATION(
25-
new MixinBuilder("Fix nether portal generation").addTargetedMod(TargetedMod.VANILLA)
26-
.setSide(Side.BOTH)
27-
.setPhase(Phase.EARLY)
28-
.setApplyIf(() -> ConfigFixes.fixVanillaNetherPortalGeneration)
29-
.addMixinClasses("minecraft.MixinTeleporter")),
30-
EREBUS_FIX_EREBUS_NULL_CHECKS(new MixinBuilder("Add missing null checks").addTargetedMod(TargetedModEx.THEEREBUS)
31-
.setSide(Side.BOTH)
32-
.setPhase(Phase.LATE)
33-
.setApplyIf(() -> ConfigFixes.fixErebusNullChecks)
34-
.addMixinClasses("erebus.MixinSpawnerErebus")),
35-
EREBUS_FIX_DIMDOORS_COMPAT(
36-
new MixinBuilder("Add compatibility with Dimensional Doors").addTargetedMod(TargetedModEx.DIMDOORS)
37-
.setSide(Side.BOTH)
38-
.setPhase(Phase.LATE)
39-
.setApplyIf(() -> ConfigFixes.fixDimDoorsCompatibility)
40-
.addMixinClasses(
41-
"dimdoors.modern.MixinChunkBlockSetter",
42-
"dimdoors.modern.MixinDungeonSchematic",
43-
"dimdoors.modern.MixinWorldBlockSettings",
44-
"dimdoors.modern.MixinPocketBuilder")),
45-
EREBUS_FIX_DIMDOORS_LEGACY_COMPAT(
46-
new MixinBuilder("Add compatibility with Dimensional Doors").addTargetedMod(TargetedModEx.DIMDOORS)
47-
.setSide(Side.BOTH)
48-
.setPhase(Phase.LATE)
49-
.setApplyIf(() -> ConfigFixes.fixDimDoorsCompatibility)
50-
.addMixinClasses(
51-
"dimdoors.legacy.MixinChunkBlockSetter",
52-
"dimdoors.legacy.MixinDungeonSchematic",
53-
"dimdoors.legacy.MixinWorldBlockSettings",
54-
"dimdoors.legacy.MixinPocketBuilder"));
55-
56-
private final List<String> mixinClasses;
57-
private final Supplier<Boolean> applyIf;
58-
private final Phase phase;
59-
private final Side side;
60-
private final List<ITargetedMod> targetedMods;
61-
private final List<ITargetedMod> excludedMods;
62-
63-
Mixins(MixinBuilder builder) {
64-
this.mixinClasses = builder.mixinClasses;
65-
this.applyIf = builder.applyIf;
66-
this.side = builder.side;
67-
this.targetedMods = builder.targetedMods;
68-
this.excludedMods = builder.excludedMods;
69-
this.phase = builder.phase;
70-
if (this.targetedMods.isEmpty()) {
71-
throw new RuntimeException("No targeted mods specified for " + this.name());
72-
}
73-
if (this.applyIf == null) {
74-
throw new RuntimeException("No ApplyIf function specified for " + this.name());
75-
}
76-
}
77-
78-
public List<String> getMixinClasses() {
79-
return mixinClasses;
80-
}
81-
82-
public Supplier<Boolean> getApplyIf() {
83-
return applyIf;
13+
VANILLA_MODIFY_FIX_STRUCTURE_GENERATION(Side.COMMON, Phase.EARLY,
14+
() -> ConfigBetterChunkloading.enable && ConfigBetterChunkloading.disableForPopulation,
15+
"minecraft.MixinChunkProviderServer", "minecraft.MixinChunk"),
16+
VANILLA_FIX_NETHER_PORTAL_GENERATION(Side.COMMON, Phase.EARLY, () -> ConfigFixes.fixVanillaNetherPortalGeneration,
17+
"minecraft.MixinTeleporter"),
18+
EREBUS_FIX_EREBUS_NULL_CHECKS(Side.COMMON, Phase.LATE, () -> ConfigFixes.fixErebusNullChecks,
19+
"erebus.MixinSpawnerErebus"),
20+
EREBUS_FIX_DIMDOORS_COMPAT(Side.COMMON, Phase.LATE, () -> ConfigFixes.fixDimDoorsCompatibility,
21+
"dimdoors.modern.MixinChunkBlockSetter", "dimdoors.modern.MixinDungeonSchematic",
22+
"dimdoors.modern.MixinWorldBlockSettings", "dimdoors.modern.MixinPocketBuilder"),
23+
EREBUS_FIX_DIMDOORS_LEGACY_COMPAT(Side.COMMON, Phase.LATE, () -> ConfigFixes.fixDimDoorsCompatibility,
24+
"dimdoors.legacy.MixinChunkBlockSetter", "dimdoors.legacy.MixinDungeonSchematic",
25+
"dimdoors.legacy.MixinWorldBlockSettings", "dimdoors.legacy.MixinPocketBuilder");
26+
27+
private final MixinBuilder builder;
28+
29+
Mixins(Side side, Phase phase, String... mixins) {
30+
builder = new MixinBuilder().addSidedMixins(side, mixins)
31+
.setPhase(phase);
8432
}
8533

86-
public Phase getPhase() {
87-
return phase;
34+
Mixins(Side side, Phase phase, Supplier<Boolean> applyIf, String... mixins) {
35+
builder = new MixinBuilder().addSidedMixins(side, mixins)
36+
.setPhase(phase)
37+
.setApplyIf(applyIf);
8838
}
8939

90-
public Side getSide() {
91-
return side;
40+
@Override
41+
public MixinBuilder getBuilder() {
42+
return builder;
9243
}
93-
94-
public List<ITargetedMod> getTargetedMods() {
95-
return targetedMods;
96-
}
97-
98-
public List<ITargetedMod> getExcludedMods() {
99-
return excludedMods;
100-
}
101-
10244
}

src/main/java/de/pilz/alternativechunkloading/mixins/TargetedModEx.java

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

0 commit comments

Comments
 (0)