Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.

Create 6.0 support

+63 -31
+1
build.gradle
··· 64 64 includeGroup("com.jozufozu.flywheel") 65 65 } 66 66 } 67 + maven { url = "https://maven.createmod.net" } // Create, Ponder, Flywheel 67 68 } 68 69 69 70 dependencies {
+17
common/build.gradle
··· 81 81 82 82 } 83 83 84 + configurations.configureEach { 85 + resolutionStrategy { 86 + force("io.github.fabricators_of_create.Porting-Lib:tags:${porting_lib_version}") 87 + force("io.github.fabricators_of_create.Porting-Lib:brewing:${porting_lib_version}") 88 + force("io.github.fabricators_of_create.Porting-Lib:client_events:${porting_lib_version}") 89 + force("io.github.fabricators_of_create.Porting-Lib:tool_actions:${porting_lib_version}") 90 + force("io.github.fabricators_of_create.Porting-Lib:models:${porting_lib_version}") 91 + force("io.github.fabricators_of_create.Porting-Lib:transfer:${porting_lib_version}") 92 + force("io.github.fabricators_of_create.Porting-Lib:obj_loader:${porting_lib_version}") 93 + force("io.github.fabricators_of_create.Porting-Lib:networking:${porting_lib_version}") 94 + force("io.github.fabricators_of_create.Porting-Lib:extensions:${porting_lib_version}") 95 + force("io.github.fabricators_of_create.Porting-Lib:entity:${porting_lib_version}") 96 + force("io.github.fabricators_of_create.Porting-Lib:base:${porting_lib_version}") 97 + 98 + } 99 + } 100 + 84 101 loom { 85 102 accessWidenerPath = file("src/main/resources/infinity.accesswidener") 86 103 }
+7 -8
common/src/main/java/net/lerariemann/infinity/compat/CreateCompat.java
··· 1 1 package net.lerariemann.infinity.compat; 2 2 3 + import com.simibubi.create.api.contraption.train.PortalTrackProvider; 3 4 import com.simibubi.create.content.trains.track.AllPortalTracks; 4 5 import com.simibubi.create.content.trains.track.TrackBlock; 5 6 import com.simibubi.create.content.trains.track.TrackShape; 6 - import com.simibubi.create.foundation.utility.BlockFace; 7 - import com.simibubi.create.foundation.utility.Pair; 7 + import net.createmod.catnip.math.BlockFace; 8 8 import net.lerariemann.infinity.block.custom.RailHelper; 9 9 import net.lerariemann.infinity.block.entity.InfinityPortalBlockEntity; 10 10 import net.lerariemann.infinity.registry.core.ModBlocks; ··· 23 23 import java.util.Set; 24 24 25 25 public class CreateCompat { 26 - public static Pair<ServerWorld, BlockFace> infinityPortalProvider(Pair<ServerWorld, BlockFace> inbound) { 27 - ServerWorld worldFrom = inbound.getFirst(); 26 + private static PortalTrackProvider.Exit infinityPortalProvider(ServerWorld worldFrom, BlockFace inbound) { 28 27 MinecraftServer server = worldFrom.getServer(); 29 28 if (!server.isNetherAllowed()) return null; 30 - BlockPos posFrom = inbound.getSecond().getConnectedPos(); 29 + BlockPos posFrom = inbound.getConnectedPos(); 31 30 if (worldFrom.getBlockEntity(posFrom) instanceof InfinityPortalBlockEntity ipbe 32 31 && ipbe.isConnectedBothSides()) { //we only allow trains through if portals are in sync 33 32 ServerWorld worldTo = ipbe.getDimensionAsWorld(); 34 33 BlockPos posTo = ipbe.getOtherSidePos(); 35 34 assert posTo != null; 36 - Direction targetDirection = inbound.getSecond().getFace(); 35 + Direction targetDirection = inbound.getFace(); 37 36 Direction.Axis axisTo = worldTo.getBlockState(posTo).get(Properties.HORIZONTAL_AXIS); 38 37 if (targetDirection.getAxis().equals(axisTo)) { 39 38 targetDirection = targetDirection.rotateYClockwise(); 40 39 } 41 - return Pair.of(worldTo, new BlockFace(posTo.offset(targetDirection), targetDirection.getOpposite())); 40 + return new PortalTrackProvider.Exit(worldTo, new BlockFace(posTo.offset(targetDirection), targetDirection.getOpposite())); 42 41 } 43 42 return null; 44 43 } 45 44 46 45 public static void register() { 47 - AllPortalTracks.registerIntegration(ModBlocks.PORTAL.get(), CreateCompat::infinityPortalProvider); 46 + AllPortalTracks.tryRegisterIntegration(ModBlocks.PORTAL.getId(), CreateCompat::infinityPortalProvider); 48 47 } 49 48 50 49 public static void tryModifyRails(InfinityPortalBlockEntity ipbe) {
+1 -1
common/src/main/java/net/lerariemann/infinity/util/InfinityMethods.java
··· 275 275 276 276 static boolean isCreateLoaded() { 277 277 if (Platform.isModLoaded("create")) { 278 - return Platform.getMod("create").getVersion().charAt(0) != '6'; 278 + return Platform.getMod("create").getVersion().charAt(0) != '5'; 279 279 } 280 280 return false; 281 281 }
+23 -14
fabric/build.gradle
··· 63 63 includeGroup "maven.modrinth" 64 64 } 65 65 } 66 - exclusiveContent { 67 - forRepository { 68 - maven { 69 - name = "Fabricators of Create" 70 - url = "https://mvn.devos.one/snapshots" 71 - } 72 - } 73 - filter { 74 - includeGroup "io.github.fabricators_of_create" 75 - includeGroup "io.github.fabricators_of_create.Porting-Lib" 76 - includeGroup "com.tterrag.registrate_fabric" 77 - includeGroup "io.github.tropheusj" 78 - includeGroup "com.simibubi.create" 79 - } 66 + maven { 67 + name = "Fabricators of Create" 68 + url = "https://mvn.devos.one/snapshots" 80 69 } 70 + 71 + 81 72 maven { url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" } // Forge Config API Port 82 73 maven { url = "https://maven.jamieswhiteshirt.com/libs-release" } // Reach Entity Attributes 83 74 ··· 110 101 111 102 common(project(path: ':common', configuration: 'namedElements')) { transitive false } 112 103 shadowBundle project(path: ':common', configuration: 'transformProductionFabric') 104 + } 105 + 106 + 107 + configurations.configureEach { 108 + resolutionStrategy { 109 + force("io.github.fabricators_of_create.Porting-Lib:tags:${porting_lib_version}") 110 + force("io.github.fabricators_of_create.Porting-Lib:brewing:${porting_lib_version}") 111 + force("io.github.fabricators_of_create.Porting-Lib:client_events:${porting_lib_version}") 112 + force("io.github.fabricators_of_create.Porting-Lib:tool_actions:${porting_lib_version}") 113 + force("io.github.fabricators_of_create.Porting-Lib:models:${porting_lib_version}") 114 + force("io.github.fabricators_of_create.Porting-Lib:transfer:${porting_lib_version}") 115 + force("io.github.fabricators_of_create.Porting-Lib:obj_loader:${porting_lib_version}") 116 + force("io.github.fabricators_of_create.Porting-Lib:networking:${porting_lib_version}") 117 + force("io.github.fabricators_of_create.Porting-Lib:extensions:${porting_lib_version}") 118 + force("io.github.fabricators_of_create.Porting-Lib:entity:${porting_lib_version}") 119 + force("io.github.fabricators_of_create.Porting-Lib:base:${porting_lib_version}") 120 + 121 + } 113 122 } 114 123 115 124 processResources {
+9 -5
forge/build.gradle
··· 42 42 modImplementation "dev.architectury:architectury-forge:$rootProject.architectury_api_version" 43 43 44 44 // Create 45 - modCompileOnly("com.simibubi.create:create-$minecraft_version:$create_forge_version:slim") { transitive = false } 46 - modCompileOnly("com.tterrag.registrate:Registrate:$registrate_forge_version") 47 - modCompileOnly("com.jozufozu.flywheel:flywheel-forge-$minecraft_version:$flywheel_forge_version") 48 - 45 + modImplementation("com.simibubi.create:create-$minecraft_version:$create_forge_version:slim") { transitive = false } 46 + modImplementation("com.tterrag.registrate:Registrate:$registrate_forge_version") 47 + modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${minecraft_version}:${flywheel_forge_version}") 48 + modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${minecraft_version}:${flywheel_forge_version}") 49 + modImplementation("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}") 49 50 50 51 compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:0.4.1")) 51 52 implementation(include("io.github.llamalad7:mixinextras-forge:0.4.1")) ··· 98 99 forge { 99 100 mixinConfig "infinity.mixins.json" 100 101 mixinConfig "infinity-forge.mixins.json" 101 - } 102 + } 103 + runs.configureEach { 104 + programArg("-mixin.config=create.mixins.json") 105 + } 102 106 }
+5 -3
gradle.properties
··· 35 35 36 36 # Create - Fabric 37 37 # https://modrinth.com/mod/create-fabric/versions 38 - create_fabric_version = 0.5.1-f-build.1417+mc1.20.1 38 + create_fabric_version = 6.0.0.0+mc1.20.1-build.1648 39 + porting_lib_version = 2.3.8-beta.49+1.20.1 39 40 40 41 # Create - Forge 41 42 # https://github.com/Creators-of-Create/Create/wiki/Depending-on-Create 42 - create_forge_version = 0.5.1.j-55 43 + create_forge_version = 6.0.1-20 43 44 registrate_forge_version = MC1.20-1.3.3 44 - flywheel_forge_version = 0.6.11-13 45 + flywheel_forge_version = 1.0.1 46 + ponder_version = 1.0.36