diff --git a/build.gradle b/build.gradle index 12e9a800fa..78b6afa092 100644 --- a/build.gradle +++ b/build.gradle @@ -132,11 +132,6 @@ repositories { } } - // Mirror of maven.createmod.net - if (System.getProperty("os.name").contains("Mac") && System.getenv("USER") == "ithundxr") { - maven { url = "https://maven.ithundxr.dev/mirror" } - } - // todo - temp maven { url = "https://maven.ithundxr.dev/hidden" } // Flywheel 1.21 PR } @@ -175,7 +170,9 @@ dependencies { implementation("dev.ftb.mods:ftb-library-neoforge:2101.1.3") implementation("maven.modrinth:journeymap:1.21.1-6.0.0-beta.32+neoforge") - implementation("info.journeymap:journeymap-api-neoforge:2.0.0-1.21.1-SNAPSHOT") + implementation("info.journeymap:journeymap-api-neoforge:2.0.0-1.21.1-SNAPSHOT") { + exclude(group: "curse.maven") // Pulls in a old version of journey map which is for forge + } } sourceSets.main { diff --git a/src/main/java/com/simibubi/create/AllDataComponents.java b/src/main/java/com/simibubi/create/AllDataComponents.java index 7da60ddd37..c5e9927c44 100644 --- a/src/main/java/com/simibubi/create/AllDataComponents.java +++ b/src/main/java/com/simibubi/create/AllDataComponents.java @@ -24,6 +24,7 @@ import com.simibubi.create.content.schematics.cannon.SchematicannonBlockEntity.S import com.simibubi.create.content.trains.track.BezierTrackPointLocation; import com.simibubi.create.content.trains.track.TrackPlacement.ConnectingFrom; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; import net.minecraft.core.BlockPos; import net.minecraft.core.UUIDUtil; @@ -137,7 +138,7 @@ public class AllDataComponents { public static final DeferredHolder, DataComponentType>>> CLIPBOARD_PAGES = DATA_COMPONENTS.registerComponentType( "clipboard_pages", - builder -> builder.persistent(ClipboardEntry.CODEC.listOf().listOf()).networkSynchronized(ClipboardEntry.STREAM_CODEC.apply(ByteBufCodecs.list()).apply(ByteBufCodecs.list())) + builder -> builder.persistent(ClipboardEntry.CODEC.listOf().listOf()).networkSynchronized(CatnipStreamCodecBuilders.list(CatnipStreamCodecBuilders.list(ClipboardEntry.STREAM_CODEC))) ); public static final DeferredHolder, DataComponentType> CLIPBOARD_READ_ONLY = DATA_COMPONENTS.registerComponentType( diff --git a/src/main/java/com/simibubi/create/content/equipment/clipboard/ClipboardEntry.java b/src/main/java/com/simibubi/create/content/equipment/clipboard/ClipboardEntry.java index ad9789c390..af8b2e318b 100644 --- a/src/main/java/com/simibubi/create/content/equipment/clipboard/ClipboardEntry.java +++ b/src/main/java/com/simibubi/create/content/equipment/clipboard/ClipboardEntry.java @@ -1,8 +1,10 @@ package com.simibubi.create.content.equipment.clipboard; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import com.google.common.collect.ImmutableList; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.simibubi.create.AllDataComponents; @@ -17,6 +19,8 @@ import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.UnmodifiableView; + public class ClipboardEntry { public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( Codec.BOOL.fieldOf("checked").forGetter(c -> c.checked), @@ -63,7 +67,14 @@ public class ClipboardEntry { } public static List> readAll(ItemStack clipboardItem) { - return clipboardItem.getOrDefault(AllDataComponents.CLIPBOARD_PAGES, new ArrayList<>()); + List> entries = new ArrayList<>(); + + // Both these lists are immutable, so we unfortunately need to re-create them to make them mutable + List> saved = clipboardItem.getOrDefault(AllDataComponents.CLIPBOARD_PAGES, Collections.emptyList()); + for (List inner : saved) + entries.add(new ArrayList<>(inner)); + + return entries; } public static List getLastViewedEntries(ItemStack heldItem) { diff --git a/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java b/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java index b01e34c690..06444efc02 100644 --- a/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java +++ b/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java @@ -137,7 +137,7 @@ public class RuntimeDataGenerator { ResourceLocation id = ResourceLocation.fromNamespaceAndPath(recipe.id.getNamespace(), typeId.getPath() + "/" + recipe.id.getPath()); - Optional serialized = CatnipCodecUtils.encode(Recipe.CONDITIONAL_CODEC, JsonOps.COMPRESSED, Optional.of(new WithConditions<>(recipe))); + Optional serialized = CatnipCodecUtils.encode(Recipe.CONDITIONAL_CODEC, JsonOps.INSTANCE, Optional.of(new WithConditions<>(recipe))); serialized.ifPresent(r -> JSON_FILES.put(id.withPrefix("recipes/"), r)); return recipe; }