Skip to content

Commit 874ea4b

Browse files
committed
Merge branch 'gametest-pr' into 1.18.x
2 parents a34a6d4 + ba8ab2d commit 874ea4b

File tree

16 files changed

+207
-248
lines changed

16 files changed

+207
-248
lines changed

1.16.5-test/java/dev/compactmods/machines/tests/minecraft/ExampleTest.java

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

1.16.5-test/java/dev/compactmods/machines/tests/nbt/MachineExternalDataTests.java

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

build.gradle

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ buildscript {
22
repositories {
33
maven { url = 'https://maven.minecraftforge.net' }
44
mavenCentral()
5+
mavenLocal()
56
}
67

78
dependencies {
@@ -52,6 +53,14 @@ sourceSets {
5253
compileClasspath += sourceSets.api.output
5354
runtimeClasspath += sourceSets.api.output
5455
}
56+
57+
test {
58+
java { srcDir "src/test/java" }
59+
resources { srcDir "src/test/resources" }
60+
61+
compileClasspath += sourceSets.api.output
62+
runtimeClasspath += sourceSets.api.output
63+
}
5564
}
5665

5766
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
@@ -132,10 +141,42 @@ minecraft {
132141
}
133142
}
134143
}
144+
145+
gametestserver {
146+
workingDirectory project.file('run/gametest')
147+
148+
// Recommended logging data for a userdev environment
149+
// The markers can be added/remove as needed separated by commas.
150+
// "SCAN": For mods scan.
151+
// "REGISTRIES": For firing of registry events.
152+
// "REGISTRYDUMP": For getting the contents of all registries.
153+
property 'forge.logging.markers', 'REGISTRIES'
154+
155+
// Recommended logging level for the console
156+
// You can set various levels here.
157+
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
158+
property 'forge.logging.console.level', 'debug'
159+
160+
property 'mixin.env.remapRefMap', 'true'
161+
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
162+
163+
// Only runs gametests which use "examplemod" as the namespace
164+
args '--enableNamespace', mod_id
165+
166+
mods {
167+
compactmachines {
168+
source sourceSets.api
169+
source sourceSets.main
170+
source sourceSets.test
171+
}
172+
}
173+
}
135174
}
136175
}
137176

138177
repositories {
178+
mavenLocal()
179+
139180
maven {
140181
url "https://www.cursemaven.com"
141182
content {
@@ -188,7 +229,7 @@ dependencies {
188229
runtimeOnly(fg.deobf("curse.maven:create-328085:3556823"))
189230
runtimeOnly(fg.deobf("curse.maven:refinedpipes-370696:3570151"))
190231
runtimeOnly(fg.deobf("curse.maven:prettypipes-376737:3573145"))
191-
runtimeOnly(fg.deobf("curse.maven:refinedstorage-243076:3569563"))
232+
runtimeOnly(fg.deobf("curse.maven:refinedstorage-243076:3623324"))
192233

193234
// Mekanism + Mek Generators - Tunnel testing
194235
// runtimeOnly(fg.deobf("curse.maven:mekanism-268560:3206392"))
@@ -199,6 +240,10 @@ processResources {
199240
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
200241
}
201242

243+
processTestResources {
244+
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
245+
}
246+
202247
jar {
203248
from sourceSets.main.output
204249
from sourceSets.api.output

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ org.gradle.jvmargs=-Xmx3G
44
org.gradle.daemon=false
55

66
minecraft_version=1.18.1
7-
forge_version=39.0.75
7+
forge_version=39.0.97-gametest-1.18.x
88

99
mod_id=compactmachines
10-
mod_version=4.0.0-beta.6
10+
mod_version=4.0.0-beta.7
1111

1212
# Dependencies and Libs
1313
jei_mc_version=1.18.1

src/main/java/dev/compactmods/machines/data/codec/CodecExtensions.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
package dev.compactmods.machines.data.codec;
22

3+
import java.util.UUID;
4+
import java.util.stream.DoubleStream;
5+
import java.util.stream.IntStream;
36
import com.mojang.serialization.Codec;
47
import com.mojang.serialization.DataResult;
5-
import net.minecraft.resources.ResourceKey;
6-
import net.minecraft.resources.ResourceLocation;
78
import net.minecraft.Util;
89
import net.minecraft.world.level.ChunkPos;
910
import net.minecraft.world.phys.Vec3;
10-
import net.minecraft.core.Registry;
11-
import net.minecraft.world.level.Level;
12-
13-
import java.util.UUID;
14-
import java.util.stream.DoubleStream;
15-
import java.util.stream.IntStream;
1611

1712
public abstract class CodecExtensions {
1813
public static final Codec<UUID> UUID_CODEC = Codec.STRING
@@ -24,9 +19,6 @@ public abstract class CodecExtensions {
2419
}
2520
}, UUID::toString).stable();
2621

27-
public static final Codec<ResourceKey<Level>> WORLD_REGISTRY_KEY = ResourceLocation.CODEC
28-
.xmap(ResourceKey.elementKey(Registry.DIMENSION_REGISTRY), ResourceKey::location);
29-
3022
public static final Codec<Vec3> VECTOR3D = DoubleStreamExtensions.CODEC
3123
.comapFlatMap(i -> DoubleStreamExtensions.fixedDoubleSize(i, 3)
3224
.map(out -> new Vec3(out[0], out[1], out[2])), vec -> DoubleStream.of(vec.x, vec.y, vec.z));

src/main/java/dev/compactmods/machines/teleportation/DimensionalPosition.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import dev.compactmods.machines.util.LocationUtil;
1313
import net.minecraft.core.BlockPos;
1414
import net.minecraft.core.Direction;
15+
import net.minecraft.core.Registry;
1516
import net.minecraft.nbt.CompoundTag;
1617
import net.minecraft.nbt.NbtOps;
1718
import net.minecraft.nbt.Tag;
@@ -35,7 +36,7 @@ public class DimensionalPosition implements INBTSerializable<CompoundTag>, IDime
3536
of initialization, making it impossible to unit test without booting a whole server up.
3637
*/
3738
public static final Codec<DimensionalPosition> CODEC = RecordCodecBuilder.create(i -> i.group(
38-
CodecExtensions.WORLD_REGISTRY_KEY.fieldOf("dim").forGetter(DimensionalPosition::getDimension),
39+
ResourceKey.codec(Registry.DIMENSION_REGISTRY).fieldOf("dim").forGetter(DimensionalPosition::getDimension),
3940
CodecExtensions.VECTOR3D.fieldOf("pos").forGetter(DimensionalPosition::getPosition),
4041
CodecExtensions.VECTOR3D.optionalFieldOf("rot", Vec3.ZERO).forGetter(DimensionalPosition::getRotation)
4142
).apply(i, DimensionalPosition::new));
@@ -136,12 +137,20 @@ public BlockPos getBlockPosition() {
136137

137138
@Override
138139
public boolean equals(Object o) {
139-
if (this == o) return true;
140-
if (o == null || getClass() != o.getClass()) return false;
140+
if (this == o)
141+
return true;
142+
143+
if (o == null || getClass() != o.getClass())
144+
return false;
145+
141146
DimensionalPosition that = (DimensionalPosition) o;
142-
return Objects.equals(dimension, that.dimension) &&
143-
Objects.equals(position, that.position) &&
144-
Objects.equals(rotation, rotation);
147+
if (!dimension.equals(that.dimension))
148+
return false;
149+
150+
if (!position.equals(that.position))
151+
return false;
152+
153+
return rotation.equals(that.rotation);
145154
}
146155

147156
@Override
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package dev.compactmods.machines.test;
2+
3+
import dev.compactmods.machines.CompactMachines;
4+
import dev.compactmods.machines.test.data.MachineExternalDataTests;
5+
import net.minecraftforge.event.RegisterGameTestsEvent;
6+
import net.minecraftforge.eventbus.api.SubscribeEvent;
7+
import net.minecraftforge.fml.common.Mod;
8+
9+
@Mod.EventBusSubscriber(modid = CompactMachines.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
10+
public class GameTestsMain {
11+
12+
@SubscribeEvent
13+
public static void registerTests(final RegisterGameTestsEvent game) {
14+
game.register(MachineExternalDataTests.class);
15+
}
16+
}

0 commit comments

Comments
 (0)