Skip to content

Commit 65ad81e

Browse files
committed
Update to 26.1-snapshot-3
1 parent 63bb893 commit 65ad81e

53 files changed

Lines changed: 238 additions & 223 deletions

File tree

Some content is hidden

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

build.gradle.kts

Lines changed: 67 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import net.fabricmc.loom.task.RemapJarTask
44
import java.net.URI
55

66
plugins {
7-
id("fabric-loom") version "1.13.3"
8-
id("io.github.ladysnake.chenille") version "0.16.1"
7+
id("net.fabricmc.fabric-loom") version "1.14-SNAPSHOT"
8+
id("io.github.ladysnake.chenille") version "0.18.0-SNAPSHOT"
99
}
1010

1111
val fabricApiVersion: String = providers.gradleProperty("fabric_api_version").get()
1212

1313
allprojects {
1414
apply(plugin = "java-library")
1515
apply(plugin = "maven-publish")
16-
apply(plugin = "fabric-loom")
16+
apply(plugin = "net.fabricmc.fabric-loom")
1717
apply(plugin = "io.github.ladysnake.chenille")
1818

1919
chenille {
@@ -62,20 +62,21 @@ allprojects {
6262
name = "JitPack"
6363
url = URI("https://jitpack.io")
6464
}
65+
mavenLocal()
6566
}
6667

6768
dependencies {
6869
val props = project.properties
6970
minecraft("com.mojang:minecraft:${props["minecraft_version"]}")
70-
mappings("net.fabricmc:yarn:${props["minecraft_version"]}+build.${props["yarn_mappings"]}:v2")
71-
modApi("net.fabricmc:fabric-loader:${props["loader_version"]}")
72-
modApi(fabricApi.module("fabric-api-base", fabricApiVersion))
73-
modImplementation(fabricApi.module("fabric-entity-events-v1", fabricApiVersion))
74-
modImplementation(fabricApi.module("fabric-networking-api-v1", fabricApiVersion))
75-
modImplementation(fabricApi.module("fabric-lifecycle-events-v1", fabricApiVersion))
71+
// mappings("net.fabricmc:yarn:${props["minecraft_version"]}+build.${props["yarn_mappings"]}:v2")
72+
api("net.fabricmc:fabric-loader:${props["loader_version"]}")
73+
api(fabricApi.module("fabric-api-base", fabricApiVersion))
74+
implementation(fabricApi.module("fabric-entity-events-v1", fabricApiVersion))
75+
implementation(fabricApi.module("fabric-networking-api-v1", fabricApiVersion))
76+
implementation(fabricApi.module("fabric-lifecycle-events-v1", fabricApiVersion))
7677

77-
modCompileOnly(fabricApi.module("fabric-gametest-api-v1", fabricApiVersion))
78-
modLocalImplementation("org.ladysnake:elmendorf:${props["elmendorf_version"]}")
78+
compileOnly(fabricApi.module("fabric-gametest-api-v1", fabricApiVersion))
79+
localImplementation("org.ladysnake:elmendorf:${props["elmendorf_version"]}")
7980

8081
compileOnly("com.google.code.findbugs:jsr305:3.0.2")
8182
compileOnly("org.jetbrains:annotations:24.0.1")
@@ -212,45 +213,43 @@ subprojects {
212213
}
213214
}
214215

215-
val remapMavenJar by tasks.registering(RemapJarTask::class) {
216-
inputFile.set(tasks.jar.flatMap { it.archiveFile })
217-
archiveFileName.set("${project.properties["archivesBaseName"]}-${project.version}-maven.jar")
218-
addNestedDependencies = false
219-
dependsOn(tasks.jar)
220-
}
221-
tasks.assemble.configure {
222-
dependsOn(remapMavenJar)
223-
}
224-
225-
extensions.configure(PublishingExtension::class.java) {
226-
publications {
227-
val mavenJava by creating(MavenPublication::class) {
228-
artifact(remapMavenJar) {
229-
builtBy(remapMavenJar)
230-
}
231-
232-
artifact(tasks.named("sourcesJar")) {
233-
builtBy(tasks.remapSourcesJar)
234-
}
235-
236-
artifact(tasks.named("javadocJar"))
237-
238-
pom.withXml {
239-
val depsNode = asNode().appendNode("dependencies")
240-
subprojects.forEach {
241-
val depNode = depsNode.appendNode("dependency")
242-
depNode.appendNode("groupId", it.group)
243-
depNode.appendNode("artifactId", it.name)
244-
depNode.appendNode("version", it.version)
245-
depNode.appendNode("scope", "compile")
246-
}
247-
}
248-
}
249-
// Required until the deprecation is removed. CCA's main jar that is published to maven does not contain sub modules.
250-
@Suppress("UnstableApiUsage")
251-
loom.disableDeprecatedPomGeneration(mavenJava)
252-
}
253-
}
216+
//val remapMavenJar by tasks.registering(RemapJarTask::class) {
217+
// inputFile.set(tasks.jar.flatMap { it.archiveFile })
218+
// archiveFileName.set("${project.properties["archivesBaseName"]}-${project.version}-maven.jar")
219+
// addNestedDependencies = false
220+
// dependsOn(tasks.jar)
221+
//}
222+
//tasks.assemble.configure {
223+
// dependsOn(remapMavenJar)
224+
//}
225+
//
226+
//extensions.configure(PublishingExtension::class.java) {
227+
// publications {
228+
// val mavenJava by creating(MavenPublication::class) {
229+
// artifact(remapMavenJar) {
230+
// builtBy(remapMavenJar)
231+
// }
232+
//
233+
// artifact(tasks.named("sourcesJar"))
234+
//
235+
// artifact(tasks.named("javadocJar"))
236+
//
237+
// pom.withXml {
238+
// val depsNode = asNode().appendNode("dependencies")
239+
// subprojects.forEach {
240+
// val depNode = depsNode.appendNode("dependency")
241+
// depNode.appendNode("groupId", it.group)
242+
// depNode.appendNode("artifactId", it.name)
243+
// depNode.appendNode("version", it.version)
244+
// depNode.appendNode("scope", "compile")
245+
// }
246+
// }
247+
// }
248+
// // Required until the deprecation is removed. CCA's main jar that is published to maven does not contain sub modules.
249+
// @Suppress("UnstableApiUsage")
250+
// loom.disableDeprecatedPomGeneration(mavenJava)
251+
// }
252+
//}
254253

255254
chenille {
256255
configureTestmod {
@@ -268,33 +267,29 @@ extensions.configure(GithubReleaseExtension::class.java) {
268267
owner = providers.gradleProperty("owners")
269268
}
270269

271-
subprojects.forEach { tasks.remapJar.configure { dependsOn("${it.path}:remapJar") } }
272-
273270
dependencies {
274271
// used by the test mod
275-
modImplementation(fabricApi.module("fabric-api-base", fabricApiVersion))
276-
modImplementation(fabricApi.module("fabric-object-builder-api-v1", fabricApiVersion))
277-
modImplementation(fabricApi.module("fabric-rendering-v1", fabricApiVersion))
278-
modImplementation(fabricApi.module("fabric-lifecycle-events-v1", fabricApiVersion))
279-
modImplementation(fabricApi.module("fabric-item-api-v1", fabricApiVersion))
280-
modImplementation(fabricApi.module("fabric-item-group-api-v1", fabricApiVersion))
281-
modImplementation(fabricApi.module("fabric-events-interaction-v0", fabricApiVersion))
282-
modImplementation(fabricApi.module("fabric-api-lookup-api-v1", fabricApiVersion))
283-
modImplementation(fabricApi.module("fabric-command-api-v2", fabricApiVersion))
284-
modImplementation(fabricApi.module("fabric-gametest-api-v1", fabricApiVersion))
285-
modRuntimeOnly(fabricApi.module("fabric-networking-api-v1", fabricApiVersion))
286-
modRuntimeOnly(fabricApi.module("fabric-resource-loader-v0", fabricApiVersion))
287-
modRuntimeOnly(fabricApi.module("fabric-events-interaction-v0", fabricApiVersion))
288-
modRuntimeOnly(fabricApi.module("fabric-registry-sync-v0", fabricApiVersion))
272+
implementation(fabricApi.module("fabric-api-base", fabricApiVersion))
273+
implementation(fabricApi.module("fabric-object-builder-api-v1", fabricApiVersion))
274+
implementation(fabricApi.module("fabric-rendering-v1", fabricApiVersion))
275+
implementation(fabricApi.module("fabric-lifecycle-events-v1", fabricApiVersion))
276+
implementation(fabricApi.module("fabric-item-api-v1", fabricApiVersion))
277+
implementation(fabricApi.module("fabric-creative-tab-api-v1", fabricApiVersion))
278+
implementation(fabricApi.module("fabric-events-interaction-v0", fabricApiVersion))
279+
implementation(fabricApi.module("fabric-api-lookup-api-v1", fabricApiVersion))
280+
implementation(fabricApi.module("fabric-command-api-v2", fabricApiVersion))
281+
implementation(fabricApi.module("fabric-gametest-api-v1", fabricApiVersion))
282+
runtimeOnly(fabricApi.module("fabric-networking-api-v1", fabricApiVersion))
283+
runtimeOnly(fabricApi.module("fabric-resource-loader-v0", fabricApiVersion))
284+
runtimeOnly(fabricApi.module("fabric-events-interaction-v0", fabricApiVersion))
285+
runtimeOnly(fabricApi.module("fabric-registry-sync-v0", fabricApiVersion))
289286

290287
testCompileOnly("com.google.code.findbugs:jsr305:3.0.2")
291288

292-
afterEvaluate {
293-
subprojects.forEach {
294-
api(project(path = ":${it.name}", configuration = "namedElements"))
295-
include(project("${it.name}:"))
296-
"testmodImplementation"(project("${it.name}:").sourceSets["testmod"].output)
297-
}
289+
subprojects.forEach {
290+
api(project(":${it.name}"))
291+
include(project("${it.name}:"))
292+
"testmodImplementation"(it.sourceSets["testmod"].output)
298293
}
299294
}
300295

cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/ComponentKey.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828
import net.minecraft.network.PacketSendListener;
2929
import net.minecraft.network.RegistryFriendlyByteBuf;
3030
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
31-
import net.minecraft.server.level.ServerPlayer;
32-
import net.minecraft.network.chat.Component;
3331
import net.minecraft.resources.Identifier;
32+
import net.minecraft.server.level.ServerPlayer;
3433
import org.jetbrains.annotations.ApiStatus;
3534
import org.jetbrains.annotations.Contract;
3635
import org.jetbrains.annotations.Nullable;
@@ -44,6 +43,8 @@
4443
import java.util.Objects;
4544
import java.util.Optional;
4645

46+
import static net.minecraft.network.chat.Component.literal;
47+
4748
/**
4849
* A key for retrieving {@link Component} instances from component providers.
4950
*
@@ -210,7 +211,7 @@ public void syncWith(ServerPlayer player, ComponentProvider provider, ComponentP
210211
} else {
211212
if (predicate.isRequiredOnClient()) {
212213
String specificMod = FabricLoader.getInstance().getModContainer(this.id.getNamespace()).map(c -> c.getMetadata().getName() + " and ").orElse("");
213-
player.connection.disconnect(Component.literal(
214+
player.connection.disconnect(literal(
214215
"This server requires " + specificMod + "Cardinal Components API " +
215216
"(unhandled packet: " + payload.type().id() + ")" +
216217
ComponentsInternals.getClientOptionalModAdvice()));

cardinal-components-base/src/main/java/org/ladysnake/cca/internal/base/CcaClientInternals.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@
2424

2525
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
2626
import net.minecraft.network.DisconnectionDetails;
27-
import net.minecraft.network.chat.Component;
2827
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
28+
import org.ladysnake.cca.api.v3.component.Component;
2929
import org.ladysnake.cca.api.v3.component.sync.AutoSyncedComponent;
3030

3131
import java.util.Optional;
3232
import java.util.function.BiFunction;
3333

34+
import static net.minecraft.network.chat.Component.literal;
35+
3436
public final class CcaClientInternals {
3537
public static <T extends ComponentUpdatePayload<?>> void registerComponentSync(CustomPacketPayload.Type<T> packetId, BiFunction<T, ClientPlayNetworking.Context, Optional<? extends Component>> getter) {
3638
ClientPlayNetworking.registerGlobalReceiver(packetId, (payload, ctx) -> {
@@ -41,7 +43,7 @@ public static <T extends ComponentUpdatePayload<?>> void registerComponentSync(C
4143
}
4244
});
4345
} catch (UnknownComponentException e) {
44-
ctx.player().connection.onDisconnect(new DisconnectionDetails(Component.literal(
46+
ctx.player().connection.onDisconnect(new DisconnectionDetails(literal(
4547
e.getMessage() + "\n(you are probably missing a mod installed on the server)" + ComponentsInternals.getClientOptionalModAdvice())
4648
));
4749
} finally {

cardinal-components-base/src/main/java/org/ladysnake/cca/internal/base/ComponentUpdatePayload.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@
2424

2525
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
2626
import net.minecraft.network.RegistryFriendlyByteBuf;
27-
import net.minecraft.network.codec.StreamCodec;
2827
import net.minecraft.network.codec.ByteBufCodecs;
28+
import net.minecraft.network.codec.StreamCodec;
2929
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
30-
import net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type;
3130
import net.minecraft.resources.Identifier;
3231
import org.ladysnake.cca.api.v3.component.ComponentKey;
3332
import org.ladysnake.cca.api.v3.component.ComponentRegistry;
@@ -46,7 +45,7 @@ public static <T> CustomPacketPayload.Type<ComponentUpdatePayload<T>> id(String
4645
}
4746

4847
public static <T> void register(Type<ComponentUpdatePayload<T>> id, StreamCodec<? super RegistryFriendlyByteBuf, T> targetDataCodec) {
49-
PayloadTypeRegistry.playS2C().register(id, codec(id, targetDataCodec));
48+
PayloadTypeRegistry.clientboundPlay().register(id, codec(id, targetDataCodec));
5049
}
5150

5251
public static <T> StreamCodec<RegistryFriendlyByteBuf, ComponentUpdatePayload<T>> codec(Type<ComponentUpdatePayload<T>> id, StreamCodec<? super RegistryFriendlyByteBuf, T> targetDataCodec) {

cardinal-components-base/src/main/java/org/ladysnake/cca/internal/base/asm/CcaAsmHelper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import it.unimi.dsi.fastutil.objects.ReferenceArraySet;
2626
import net.fabricmc.fabric.api.event.Event;
27-
import net.fabricmc.loader.api.FabricLoader;
2827
import net.minecraft.resources.Identifier;
2928
import org.jetbrains.annotations.NotNull;
3029
import org.jetbrains.annotations.Nullable;
@@ -73,7 +72,7 @@ public final class CcaAsmHelper {
7372
public static final String COMPONENT_CONTAINER = Type.getInternalName(ComponentContainer.class);
7473
public static final String COMPONENT_TYPE = Type.getInternalName(ComponentKey.class);
7574
public static final String DYNAMIC_COMPONENT_CONTAINER_IMPL = Type.getInternalName(AbstractComponentContainer.class);
76-
public static final String IDENTIFIER = FabricLoader.getInstance().getMappingResolver().mapClassName("intermediary", "net.minecraft.class_2960").replace('.', '/');
75+
public static final String IDENTIFIER = "net/minecraft/resources/Identifier";
7776
public static final String EVENT = Type.getInternalName(Event.class);
7877
// generated references
7978
public static final String STATIC_COMPONENT_CONTAINER = createClassName("GeneratedComponentContainer");

cardinal-components-base/src/testmod/java/org/ladysnake/cca/internal/base/ComponentRegistryImplTest.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,24 @@
2323
package org.ladysnake.cca.internal.base;
2424

2525
import net.fabricmc.fabric.api.gametest.v1.GameTest;
26-
import net.minecraft.world.level.storage.ValueInput;
27-
import net.minecraft.world.level.storage.ValueOutput;
2826
import net.minecraft.gametest.framework.GameTestHelper;
29-
import net.minecraft.network.chat.Component;
3027
import net.minecraft.resources.Identifier;
28+
import net.minecraft.world.level.storage.ValueInput;
29+
import net.minecraft.world.level.storage.ValueOutput;
3130
import org.ladysnake.cca.api.v3.component.Component;
3231
import org.ladysnake.cca.api.v3.component.ComponentKey;
3332
import org.ladysnake.cca.test.base.CardinalGameTest;
33+
import org.ladysnake.elmendorf.ElmendorfTestContext;
34+
35+
import static net.minecraft.network.chat.Component.literal;
3436

3537
public class ComponentRegistryImplTest implements CardinalGameTest {
3638

3739
@SuppressWarnings({"unchecked", "rawtypes"})
3840
@GameTest
3941
public void checksRegisteredClasses(GameTestHelper ctx) {
4042
ComponentRegistryImpl registry = ComponentRegistryImpl.INSTANCE;
41-
ctx.assertThrows("Component class must extend Component", IllegalArgumentException.class, () -> registry.getOrCreate(CcaTesting.TEST_ID_1, (Class) TestNotComponentItf.class));
43+
((ElmendorfTestContext) ctx).assertThrows("Component class must extend Component", IllegalArgumentException.class, () -> registry.getOrCreate(CcaTesting.TEST_ID_1, (Class) TestNotComponentItf.class));
4244
registry.getOrCreate(CcaTesting.TEST_ID_1, TestComponentNotItf.class);
4345
registry.getOrCreate(CcaTesting.TEST_ID_2, TestComponentItf.class);
4446
}
@@ -48,10 +50,11 @@ public void doesNotDuplicateComponentTypes(GameTestHelper ctx) {
4850
ComponentRegistryImpl registry = ComponentRegistryImpl.INSTANCE;
4951
Identifier id = CcaTesting.TEST_ID_1;
5052
ComponentKey<?> type = registry.getOrCreate(id, TestComponentItf.class);
51-
ctx.assertThrows(IllegalStateException.class, () -> registry.getOrCreate(id, TestComponentItf2.class));
52-
ctx.assertThrows(IllegalStateException.class, () -> registry.getOrCreate(id, TestComponentItf3.class));
53-
ctx.assertValueEqual(type, registry.getOrCreate(id, TestComponentItf.class), Component.literal("component key"));
54-
ctx.assertValueEqual(1L, registry.stream().map(ComponentKey::getId).filter(CcaTesting.ALL_TEST_IDS::contains).count(), Component.literal("number of registrations"));
53+
var elmendorfCtx = ((ElmendorfTestContext) ctx);
54+
elmendorfCtx.assertThrows(IllegalStateException.class, () -> registry.getOrCreate(id, TestComponentItf2.class));
55+
elmendorfCtx.assertThrows(IllegalStateException.class, () -> registry.getOrCreate(id, TestComponentItf3.class));
56+
ctx.assertValueEqual(type, registry.getOrCreate(id, TestComponentItf.class), literal("component key"));
57+
ctx.assertValueEqual(1L, registry.stream().map(ComponentKey::getId).filter(CcaTesting.ALL_TEST_IDS::contains).count(), literal("number of registrations"));
5558
}
5659

5760
@Override

0 commit comments

Comments
 (0)