Skip to content

Commit f607428

Browse files
committed
Is everything broken yet (Room Upgrades WIP)
1 parent 0272e12 commit f607428

File tree

29 files changed

+1083
-378
lines changed

29 files changed

+1083
-378
lines changed

core-api/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ val versionMain: String = System.getenv("VERSION") ?: "9.9.9"
66
plugins {
77
id("java-library")
88
id("maven-publish")
9-
alias(neoforged.plugins.moddev)
9+
alias(neoforged.plugins.neogradle)
1010
}
1111

1212
sourceSets {
@@ -24,6 +24,7 @@ base {
2424
}
2525

2626
java {
27+
toolchain.vendor.set(JvmVendorSpec.JETBRAINS)
2728
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
2829
withJavadocJar()
2930
}

core-api/src/main/java/dev/compactmods/machines/api/room/RoomTranslations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public interface RoomTranslations {
2424
Function<Player, Component> PLAYER_NOT_IN_COMPACT_DIM = (player) -> Component.translatableWithFallback(IDs.Errors.PLAYER_NOT_IN_COMPACT_DIM, "", player.getDisplayName());
2525

2626
Function<Player, Component> UNKNOWN_ROOM_BY_PLAYER_CHUNK = (player) -> Component
27-
.translatableWithFallback(IDs.Errors.UNKNOWN_ROOM_BY_PLAYER_CHUNK, "Room not found at chunk: %s", player.chunkPosition())
27+
.translatableWithFallback(IDs.Errors.UNKNOWN_ROOM_BY_PLAYER_CHUNK, "Room not found at chunk: %s", player.chunkPosition().toString())
2828
.withStyle(ChatFormatting.DARK_RED);
2929

3030
Function<String, Component> UNKNOWN_ROOM_BY_CODE = (roomCode) -> Component

core-api/src/main/java/dev/compactmods/machines/api/room/upgrade/RoomUpgrade.java

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,13 @@
11
package dev.compactmods.machines.api.room.upgrade;
22

3-
import com.mojang.serialization.Codec;
4-
import dev.compactmods.machines.api.CompactMachines;
53
import dev.compactmods.machines.api.room.upgrade.events.RoomUpgradeEvent;
6-
import net.minecraft.core.Registry;
7-
import net.minecraft.core.registries.BuiltInRegistries;
8-
import net.minecraft.network.RegistryFriendlyByteBuf;
9-
import net.minecraft.network.codec.ByteBufCodecs;
10-
import net.minecraft.network.codec.StreamCodec;
114
import net.minecraft.world.item.component.TooltipProvider;
125

136
import java.util.stream.Stream;
147

158
public interface RoomUpgrade extends TooltipProvider {
169

17-
Codec<RoomUpgrade> DISPATCH_CODEC = Codec.lazyInitialized(() -> {
18-
@SuppressWarnings("unchecked") final var reg = (Registry<RoomUpgradeDefinition<?>>) BuiltInRegistries.REGISTRY.get(CompactMachines.modRL("room_upgrades"));
19-
20-
if (reg != null) {
21-
var upgradeRegistry = reg.byNameCodec();
22-
return upgradeRegistry.dispatchStable(RoomUpgrade::getType, RoomUpgradeDefinition::codec);
23-
}
24-
25-
throw new RuntimeException("Room upgrade registry not registered yet; calling too early?");
26-
});
27-
28-
RoomUpgradeDefinition<?> getType();
29-
30-
StreamCodec<RegistryFriendlyByteBuf, RoomUpgrade> STREAM_CODEC = ByteBufCodecs.fromCodecWithRegistries(DISPATCH_CODEC);
10+
RoomUpgradeDefinition<?> getType();
3111

3212
default Stream<RoomUpgradeEvent> gatherEvents() {
3313
return Stream.empty();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package dev.compactmods.machines.api.room.upgrade;
2+
3+
import com.mojang.serialization.Codec;
4+
import dev.compactmods.machines.api.CompactMachines;
5+
import net.minecraft.core.Registry;
6+
import net.minecraft.core.registries.BuiltInRegistries;
7+
import net.minecraft.network.RegistryFriendlyByteBuf;
8+
import net.minecraft.network.codec.ByteBufCodecs;
9+
import net.minecraft.network.codec.StreamCodec;
10+
11+
public interface RoomUpgradeCodecs {
12+
Codec<RoomUpgrade> DISPATCH_CODEC = Codec.lazyInitialized(() -> {
13+
@SuppressWarnings("unchecked") final var reg = (Registry<RoomUpgradeDefinition<?>>) BuiltInRegistries.REGISTRY.get(CompactMachines.modRL("room_upgrades"));
14+
15+
if (reg != null) {
16+
var upgradeRegistry = reg.byNameCodec();
17+
return upgradeRegistry.dispatchStable(RoomUpgrade::getType, RoomUpgradeDefinition::codec);
18+
}
19+
20+
throw new RuntimeException("Room upgrade registry not registered yet; calling too early?");
21+
});
22+
StreamCodec<RegistryFriendlyByteBuf, RoomUpgrade> STREAM_CODEC = ByteBufCodecs.fromCodecWithRegistries(DISPATCH_CODEC);
23+
}

core-api/src/main/java/dev/compactmods/machines/api/room/upgrade/RoomUpgradeDefinition.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,4 @@ public record RoomUpgradeDefinition<T extends RoomUpgrade>(MapCodec<T> codec) {
99

1010
public static final ResourceKey<Registry<RoomUpgradeDefinition<?>>> REG_KEY = ResourceKey
1111
.createRegistryKey(CompactMachines.modRL("room_upgrades"));
12-
1312
}

core-api/src/main/java/dev/compactmods/machines/api/room/upgrade/components/RoomUpgradeList.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.mojang.serialization.Codec;
44
import dev.compactmods.machines.api.room.upgrade.RoomUpgrade;
5+
import dev.compactmods.machines.api.room.upgrade.RoomUpgradeCodecs;
56
import net.minecraft.network.RegistryFriendlyByteBuf;
67
import net.minecraft.network.chat.Component;
78
import net.minecraft.network.codec.ByteBufCodecs;
@@ -21,11 +22,11 @@
2122
*/
2223
public record RoomUpgradeList(List<RoomUpgrade> upgrades) implements TooltipProvider {
2324

24-
public static final Codec<RoomUpgradeList> CODEC = RoomUpgrade.DISPATCH_CODEC.listOf()
25+
public static final Codec<RoomUpgradeList> CODEC = RoomUpgradeCodecs.DISPATCH_CODEC.listOf()
2526
.xmap(RoomUpgradeList::new, RoomUpgradeList::upgrades);
2627

2728
public static final StreamCodec<RegistryFriendlyByteBuf, RoomUpgradeList> STREAM_CODEC = StreamCodec.composite(
28-
RoomUpgrade.STREAM_CODEC.apply(ByteBufCodecs.list()), RoomUpgradeList::upgrades,
29+
RoomUpgradeCodecs.STREAM_CODEC.apply(ByteBufCodecs.list()), RoomUpgradeList::upgrades,
2930
RoomUpgradeList::new
3031
);
3132

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ org.gradle.parallel=true
66
# org.gradle.caching=true
77
# org.gradle.configuration-cache=true
88

9-
neoForge.parchment.minecraftVersion=1.20.6
10-
neoForge.parchment.mappingsVersion=2024.05.01
9+
neogradle.subsystems.parchment.minecraftVersion=1.21
10+
neogradle.subsystems.parchment.mappingsVersion=2024.07.28
1111

1212
neogradle.subsystems.conventions.runs.create-default-run-per-type=false
1313

neoforge-datagen/build.gradle.kts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
id("eclipse")
66
id("idea")
77
id("maven-publish")
8-
alias(neoforged.plugins.moddev)
8+
alias(neoforged.plugins.neogradle)
99
}
1010

1111
val modId: String = "compactmachines"
@@ -17,6 +17,7 @@ project.evaluationDependsOn(coreApi.path)
1717
project.evaluationDependsOn(mainProject.path)
1818

1919
java {
20+
toolchain.vendor.set(JvmVendorSpec.JETBRAINS)
2021
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
2122
}
2223

@@ -44,10 +45,10 @@ runs {
4445
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
4546
systemProperty("forge.enabledGameTestNamespaces", modId)
4647

47-
programArguments.addAll("--mod", modId)
48-
programArguments.addAll("--all")
49-
programArguments.addAll("--output", mainProject.file("src/generated/resources").absolutePath)
50-
programArguments.addAll("--existing", mainProject.file("src/main/resources").absolutePath)
48+
arguments.addAll("--mod", modId)
49+
arguments.addAll("--all")
50+
arguments.addAll("--output", mainProject.file("src/generated/resources").absolutePath)
51+
arguments.addAll("--existing", mainProject.file("src/main/resources").absolutePath)
5152
}
5253
}
5354

@@ -61,19 +62,13 @@ repositories {
6162
password = project.findProperty("gpr.token") as String? ?: System.getenv("GITHUB_TOKEN")
6263
}
6364
}
64-
65-
// https://github.com/neoforged/NeoForge/pull/1303
66-
maven("https://prmaven.neoforged.net/NeoForge/pr1303") {
67-
content {
68-
includeModule("net.neoforged", "neoforge")
69-
}
70-
}
7165
}
7266

7367
dependencies {
74-
implementation("net.neoforged:neoforge:21.0.159-pr-1303-feat-recipe-provider-lookup")
7568
compileOnly(coreApi)
7669
compileOnly(mainProject)
70+
71+
compileOnly(neoforged.neoforge)
7772
}
7873

7974
tasks.compileJava {

neoforge-datagen/src/main/java/dev.compactmods.machines.datagen/lang/EnglishLangGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected void addTranslations() {
3737
// Room Translations
3838
add(RoomTranslations.IDs.ROOM_SPAWNPOINT_SET, "New spawn point set.");
3939
add(RoomTranslations.IDs.MACHINE_ROOM_INFO, "Machine at %1$s is bound to a %2$s size room at %3$s");
40-
add(RoomTranslations.IDs.PLAYER_ROOM_INFO, "Player '%1$s' is inside a %3$s room at %2$s.");
40+
add(RoomTranslations.IDs.PLAYER_ROOM_INFO, "Player '%1$s' is inside room %2$s.");
4141

4242
// Room Errors
4343
add(RoomTranslations.IDs.Errors.CANNOT_ENTER_ROOM, "You fumble with the shrinking device, to no avail. It refuses to work.");

0 commit comments

Comments
 (0)