Skip to content

Commit 5b7f8f6

Browse files
committed
(MAJOR) Initial port to 21.8
1 parent a05d080 commit 5b7f8f6

File tree

110 files changed

+1325
-1436
lines changed

Some content is hidden

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

110 files changed

+1325
-1436
lines changed

core-api/src/main/java/dev/compactmods/machines/api/attachment/CMDataAttachments.java

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

33
import com.google.common.base.Predicates;
44
import com.mojang.serialization.Codec;
5+
import com.mojang.serialization.MapCodec;
6+
import com.mojang.serialization.codecs.PrimitiveCodec;
57
import dev.compactmods.machines.api.CompactMachines;
68
import dev.compactmods.machines.api.machine.MachineColor;
79
import dev.compactmods.machines.api.room.history.RoomEntryPoint;
@@ -13,6 +15,7 @@
1315
import net.minecraft.core.GlobalPos;
1416
import net.minecraft.core.UUIDUtil;
1517
import net.minecraft.util.CommonColors;
18+
import net.minecraft.world.entity.animal.Cod;
1619
import net.minecraft.world.level.Level;
1720
import net.neoforged.neoforge.attachment.AttachmentType;
1821
import net.neoforged.neoforge.registries.DeferredRegister;
@@ -36,27 +39,22 @@ public interface CMDataAttachments {
3639

3740
Supplier<AttachmentType<GlobalPos>> OPEN_MACHINE_POS = ATTACHMENT_TYPES.register("open_machine", () -> AttachmentType
3841
.builder(() -> GlobalPos.of(Level.OVERWORLD, BlockPos.ZERO))
39-
.serialize(GlobalPos.CODEC, Predicates.alwaysFalse())
42+
.serialize(GlobalPos.MAP_CODEC, Predicates.alwaysFalse())
4043
.build());
4144

4245
Supplier<AttachmentType<RoomUpgradeComponentList>> PERMANENT_UPGRADES = ATTACHMENT_TYPES.register("permanent_upgrades", () -> AttachmentType
4346
.builder(() -> new RoomUpgradeComponentList(List.of()))
44-
.serialize(RoomUpgradeComponentList.CODEC)
47+
.serialize(RoomUpgradeComponentList.CODEC.fieldOf("upgrades"))
4548
.build());
4649

4750
Supplier<AttachmentType<String>> CURRENT_ROOM_CODE = ATTACHMENT_TYPES.register("current_room_code", () -> AttachmentType
4851
.<String>builder(() -> null)
49-
.serialize(Codec.STRING)
52+
.serialize(Codec.STRING.fieldOf("code"))
5053
.build());
5154

5255
Supplier<AttachmentType<UUID>> ROOM_OWNER = ATTACHMENT_TYPES.register("room_owner", () -> AttachmentType
5356
.builder(() -> Util.NIL_UUID)
54-
.serialize(UUIDUtil.CODEC)
55-
.build());
56-
57-
Supplier<AttachmentType<MachineColor>> MACHINE_COLOR = ATTACHMENT_TYPES.register("machine_color", () -> AttachmentType
58-
.builder(() -> MachineColor.fromARGB(CommonColors.WHITE))
59-
.serialize(MachineColor.CODEC)
57+
.serialize(UUIDUtil.CODEC.fieldOf("owner"))
6058
.build());
6159

6260
Supplier<AttachmentType<RoomUpgradeInstance>> UPGRADE_INSTANCE = ATTACHMENT_TYPES.register("room_upgrade_instance", () -> AttachmentType

core-api/src/main/java/dev/compactmods/machines/api/attachment/IForwardingAttachmentHolder.java

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

33
import net.neoforged.neoforge.attachment.AttachmentType;
44
import net.neoforged.neoforge.attachment.IAttachmentHolder;
5+
import org.jetbrains.annotations.NotNull;
56
import org.jetbrains.annotations.Nullable;
67

78
import java.util.Optional;
@@ -40,4 +41,14 @@ default <T> Optional<T> getExistingData(AttachmentType<T> attachmentType) {
4041
default <T> @Nullable T removeData(AttachmentType<T> attachmentType) {
4142
return attachmentHolder().get().removeData(attachmentType);
4243
}
44+
45+
@Override
46+
default <T> @Nullable T getExistingDataOrNull(Supplier<AttachmentType<T>> type) {
47+
return attachmentHolder().get().getExistingDataOrNull(type);
48+
}
49+
50+
@Override
51+
default <T> @Nullable T getExistingDataOrNull(@NotNull AttachmentType<T> attachmentType) {
52+
return attachmentHolder().get().getExistingDataOrNull(attachmentType);
53+
}
4354
}

core-api/src/main/java/dev/compactmods/machines/api/dimension/CompactDimension.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import net.minecraft.world.entity.LivingEntity;
1111
import net.minecraft.world.level.Level;
1212
import net.minecraft.world.level.dimension.DimensionType;
13+
import net.minecraft.world.level.saveddata.SavedData;
1314
import net.minecraft.world.level.storage.DimensionDataStorage;
1415
import net.minecraft.world.level.storage.LevelResource;
1516
import net.minecraft.world.level.storage.LevelStorageSource;
@@ -35,21 +36,6 @@ public static ServerLevel forServer(MinecraftServer server) throws MissingDimens
3536
return level;
3637
}
3738

38-
public static Path getDataDirectory(@NotNull MinecraftServer server) {
39-
return DimensionType.getStorageFolder(CompactDimension.LEVEL_KEY, server.getWorldPath(LevelResource.ROOT));
40-
}
41-
42-
public static Path getDataDirectory(@NotNull LevelStorageSource.LevelDirectory levelDir) {
43-
return DimensionType.getStorageFolder(CompactDimension.LEVEL_KEY, levelDir.path());
44-
}
45-
46-
@NotNull
47-
public static DimensionDataStorage getDataStorage(@NotNull LevelStorageSource.LevelDirectory levelDir, HolderLookup.Provider holderLookup) {
48-
final var dimPath = DimensionType.getStorageFolder(CompactDimension.LEVEL_KEY, levelDir.path());
49-
final var fixer = DataFixers.getDataFixer();
50-
return new DimensionDataStorage(dimPath.resolve("data").toFile(), fixer, holderLookup);
51-
}
52-
5339
public static boolean isLevelCompact(Level level) {
5440
return isLevelCompact(level.dimension());
5541
}

core-api/src/main/java/dev/compactmods/machines/api/machine/MachineColor.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
import io.netty.buffer.ByteBuf;
66
import net.minecraft.network.codec.ByteBufCodecs;
77
import net.minecraft.network.codec.StreamCodec;
8-
import net.minecraft.util.FastColor;
8+
import net.minecraft.util.ARGB;
99
import net.minecraft.world.item.DyeColor;
1010

1111
import java.util.Locale;
1212

1313
public record MachineColor(int red, int green, int blue) {
1414

15+
public static final MachineColor DEFAULT = fromDyeColor(DyeColor.WHITE);
16+
1517
public static MachineColor fromARGB(int argb) {
16-
var red = FastColor.ARGB32.red(argb);
17-
var green = FastColor.ARGB32.green(argb);
18-
var blue = FastColor.ARGB32.blue(argb);
18+
var red = ARGB.red(argb);
19+
var green = ARGB.green(argb);
20+
var blue = ARGB.blue(argb);
1921
return new MachineColor(red, green, blue);
2022
}
2123

@@ -47,7 +49,7 @@ public static MachineColor fromDyeColor(DyeColor color) {
4749
}
4850

4951
public int rgb() {
50-
return FastColor.ARGB32.color(red, green, blue);
52+
return ARGB.color(red, green, blue);
5153
}
5254

5355
private String formatValue() {
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
package dev.compactmods.machines.api.machine.block;
22

3-
public interface ICompactMachineBlockEntity {}
3+
import dev.compactmods.machines.api.machine.MachineColor;
4+
5+
public interface ICompactMachineBlockEntity {
6+
MachineColor getMachineColor();
7+
8+
void setMachineColor(MachineColor newColor);
9+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public static void generateCompactWall(LevelAccessor world, AABB outerBounds, Di
4545
* @param outerBounds Outer dimensions of the room.
4646
*/
4747
public static void generateRoom(LevelAccessor world, AABB outerBounds) {
48-
final var block = BuiltInRegistries.BLOCK.get(WallConstants.SOLID_WALL);
48+
final var block = BuiltInRegistries.BLOCK.getValue(WallConstants.SOLID_WALL);
4949
if (block != null) {
5050
final var solidWall = block.defaultBlockState();
5151
generateRoom(world, outerBounds, solidWall);

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414

1515
import java.util.function.Supplier;
1616

17-
public record RoomInstance(MinecraftServer server, ResourceKey<Level> levelKey, String code, MachineColor defaultMachineColor, IRoomBoundaries boundaries) implements IForwardingAttachmentHolder {
17+
public record RoomInstance(
18+
MinecraftServer server, ResourceKey<Level> levelKey,
19+
String code, MachineColor defaultMachineColor,
20+
IRoomBoundaries boundaries
21+
) implements IForwardingAttachmentHolder {
1822

1923
public ServerLevel level() {
2024
return server.getLevel(levelKey);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.compactmods.machines.api.room.history;
22

33
import com.mojang.serialization.Codec;
4+
import com.mojang.serialization.MapCodec;
45
import com.mojang.serialization.codecs.RecordCodecBuilder;
56
import dev.compactmods.machines.api.location.GlobalPosWithRotation;
67
import net.minecraft.util.StringRepresentable;
@@ -12,7 +13,7 @@ public record RoomEntryPoint(GlobalPosWithRotation entryLocation, EntryMethod me
1213
public static final RoomEntryPoint INVALID = new RoomEntryPoint(GlobalPosWithRotation.INVALID, EntryMethod.OTHER);
1314

1415

15-
public static final Codec<RoomEntryPoint> CODEC = RecordCodecBuilder.create(i -> i.group(
16+
public static final MapCodec<RoomEntryPoint> CODEC = RecordCodecBuilder.mapCodec(i -> i.group(
1617
GlobalPosWithRotation.CODEC.fieldOf("entry_location").forGetter(RoomEntryPoint::entryLocation),
1718
EntryMethod.CODEC.fieldOf("method").forGetter(RoomEntryPoint::method)
1819
).apply(i, RoomEntryPoint::new));

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import dev.compactmods.machines.api.room.RoomStructureInfo;
99
import net.minecraft.ChatFormatting;
1010
import net.minecraft.core.Registry;
11+
import net.minecraft.core.component.DataComponentGetter;
1112
import net.minecraft.network.RegistryFriendlyByteBuf;
1213
import net.minecraft.network.chat.Component;
1314
import net.minecraft.network.codec.ByteBufCodecs;
@@ -84,7 +85,7 @@ public AABB getBoundariesCenteredAt(Vec3 center) {
8485
public static final String I18N_STRUCTURE_GEN_TOOLTIP = CompactMachines.dotPrefix("rooms.templates.structure_tooltip");
8586

8687
@Override
87-
public void addToTooltip(Item.TooltipContext ctx, Consumer<Component> tooltips, TooltipFlag flags) {
88+
public void addToTooltip(Item.TooltipContext ctx, Consumer<Component> tooltips, TooltipFlag flags, DataComponentGetter data) {
8889
final var roomDimensions = internalDimensions();
8990

9091
tooltips.accept(Component.translatableWithFallback(I18N_INTERNAL_ROOM_DIMS, "Internal Size: %s", roomDimensions.toString())

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@ public static RoomTemplate getTemplate(RegistryAccess registryAccess, ResourceLo
2222
}
2323

2424
public static Stream<RoomTemplate> getTemplates(RegistryAccess registryAccess) {
25-
return registryAccess.registryOrThrow(RoomTemplate.REGISTRY_KEY).stream();
25+
return registryAccess.lookupOrThrow(RoomTemplate.REGISTRY_KEY).stream();
2626
}
2727

2828
public static Stream<Holder.Reference<RoomTemplate>> getTemplateHolders(RegistryAccess registryAccess) {
29-
return registryAccess.registryOrThrow(RoomTemplate.REGISTRY_KEY)
30-
.asLookup()
29+
return registryAccess.lookupOrThrow(RoomTemplate.REGISTRY_KEY)
3130
.listElements();
3231
}
3332

3433
public static Optional<RoomTemplate> getTemplateOptional(RegistryAccess registryAccess, ResourceLocation id) {
35-
return registryAccess.registryOrThrow(RoomTemplate.REGISTRY_KEY)
34+
return registryAccess.lookupOrThrow(RoomTemplate.REGISTRY_KEY)
3635
.getOptional(id);
3736
}
3837

@@ -41,7 +40,7 @@ public static Holder.Reference<RoomTemplate> getTemplateHolder(LevelReader level
4140
}
4241

4342
public static Holder.Reference<RoomTemplate> getTemplateHolder(RegistryAccess registryAccess, ResourceLocation id) {
44-
return registryAccess.registryOrThrow(RoomTemplate.REGISTRY_KEY)
45-
.getHolderOrThrow(ResourceKey.create(RoomTemplate.REGISTRY_KEY, id));
43+
return registryAccess.lookupOrThrow(RoomTemplate.REGISTRY_KEY)
44+
.getOrThrow(ResourceKey.create(RoomTemplate.REGISTRY_KEY, id));
4645
}
4746
}

0 commit comments

Comments
 (0)