diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 3aecf56f..c6557d38 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -7,6 +7,7 @@ repositories { maven("https://repo.spongepowered.org/repository/maven-public/") maven("https://maven.fabricmc.net/") maven("https://maven.architectury.dev/") + maven("https://maven.neoforged.net/releases/") } dependencies { diff --git a/forge/gradle.properties b/forge/gradle.properties deleted file mode 100644 index 82425854..00000000 --- a/forge/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=forge diff --git a/forge/src/main/resources/META-INF/accesstransformer.cfg b/forge/src/main/resources/META-INF/accesstransformer.cfg deleted file mode 100644 index 8799a492..00000000 --- a/forge/src/main/resources/META-INF/accesstransformer.cfg +++ /dev/null @@ -1,4 +0,0 @@ -public net.minecraft.commands.CommandSourceStack f_81288_ - -# below are manually copied from squaremap-common.accesswidener, be sure to keep up to date with changes -public net.minecraft.world.level.chunk.PalettedContainer m_63085_(I)Ljava/lang/Object; diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e72353ff..7b834b03 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ hangar-publish = { id = "io.papermc.hangar-publish-plugin", version = "0.1.0" } minecraft = "1.20.2" checkerQual = "3.40.0" cloud = "1.8.4" -cloudForge = "1.0.0+1.20-SNAPSHOT" +cloudNeoForge = "1.0.0+1.20.2-SNAPSHOT" cloudSponge = "1.8.0-SNAPSHOT" configurate = "4.1.2" adventure = "4.14.0" @@ -20,7 +20,7 @@ fabricApi = "0.89.1+1.20.2" fabricLoader = "0.14.22" cardinalComponents = "5.3.0" guice = "5.1.0" -forge = "1.20.1-47.0.0" +neoforge = "20.2.54-beta" # buildSrc indra = "3.1.3" @@ -28,7 +28,7 @@ sponge-gradle = "2.2.0" shadow = "8.1.1" vanillaGradle = "0.2.1-SNAPSHOT" mod-publish-plugin = "0.4.5" -loom = "1.3-SNAPSHOT" +loom = "1.4-SNAPSHOT" paperweight = "1.5.9" [libraries] @@ -51,7 +51,7 @@ cloudBrigadier = { group = "cloud.commandframework", name = "cloud-brigadier", v cloudMinecraftExtras = { group = "cloud.commandframework", name = "cloud-minecraft-extras", version.ref = "cloud" } cloudPaper = { group = "cloud.commandframework", name = "cloud-paper", version.ref = "cloud" } cloudFabric = { group = "cloud.commandframework", name = "cloud-fabric", version.ref = "cloud" } -cloudForge = { group = "cloud.commandframework", name = "cloud-forge", version.ref = "cloudForge" } +cloudNeoForge = { group = "cloud.commandframework", name = "cloud-neoforge", version.ref = "cloudNeoForge" } cloudSponge = { group = "cloud.commandframework", name = "cloud-sponge", version.ref = "cloudSponge" } configurateBom = { group = "org.spongepowered", name = "configurate-bom", version.ref = "configurate" } @@ -78,7 +78,7 @@ minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft cardinalComponentsBase = { group = "dev.onyxstudios.cardinal-components-api", name = "cardinal-components-base", version.ref = "cardinalComponents" } cardinalComponentsEntity = { group = "dev.onyxstudios.cardinal-components-api", name = "cardinal-components-entity", version.ref = "cardinalComponents" } -forge = { group = "net.minecraftforge", name = "forge", version.ref = "forge" } +neoforge = { group = "net.neoforged", name = "neoforge", version.ref = "neoforge" } # buildSrc indraCommon = { group = "net.kyori", name = "indra-common", version.ref = "indra" } diff --git a/forge/build.gradle.kts b/neoforge/build.gradle.kts similarity index 69% rename from forge/build.gradle.kts rename to neoforge/build.gradle.kts index b43b1bca..b7721dfa 100644 --- a/forge/build.gradle.kts +++ b/neoforge/build.gradle.kts @@ -1,13 +1,26 @@ +import org.gradlex.javaecosystem.capabilities.rules.GuavaListenableFutureRule + plugins { id("loom-platform-conventions") } -loom.forge.mixinConfig("squaremap-forge.mixins.json") +repositories { + maven("https://maven.neoforged.net/releases/") +} dependencies { + components.withModule(GuavaListenableFutureRule.MODULES[0]) { + // Ad-hoc rule to revert the effect of 'GuavaListenableFutureRule' (NeoForge has broken dependencies) + allVariants { + withCapabilities { + removeCapability(GuavaListenableFutureRule.CAPABILITY_GROUP, GuavaListenableFutureRule.CAPABILITY_NAME) + } + } + } + minecraft(libs.minecraft) mappings(loom.officialMojangMappings()) - forge(libs.forge) + neoForge(libs.neoforge) squaremap(projects.squaremapCommon) { exclude("cloud.commandframework", "cloud-core") @@ -28,8 +41,8 @@ dependencies { include(libs.adventureTextSerializerJson) include(libs.adventureTextSerializerPlain) - modImplementation(libs.cloudForge) - include(libs.cloudForge) + modImplementation(libs.cloudNeoForge) + include(libs.cloudNeoForge) implementation(libs.cloudMinecraftExtras) { isTransitive = false // we depend on adventure separately @@ -57,3 +70,8 @@ configurations.include { } } } + +publishMods.modrinth { + minecraftVersions.add(libs.versions.minecraft) + modLoaders.add("neoforge") +} diff --git a/neoforge/gradle.properties b/neoforge/gradle.properties new file mode 100644 index 00000000..7da18ea6 --- /dev/null +++ b/neoforge/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeAdventure.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeAdventure.java similarity index 100% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeAdventure.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeAdventure.java diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java similarity index 92% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java index 4ca73f67..c8c682a3 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeFluidColorExporter.java @@ -7,9 +7,9 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions; -import net.minecraftforge.fluids.FluidType; -import net.minecraftforge.fluids.IFluidBlock; +import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; +import net.neoforged.neoforge.fluids.FluidType; +import net.neoforged.neoforge.fluids.IFluidBlock; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java similarity index 80% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java index 44885219..8e783916 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgePlayerManager.java @@ -8,17 +8,17 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.CapabilityManager; -import net.minecraftforge.common.capabilities.CapabilityToken; -import net.minecraftforge.common.capabilities.ICapabilityProvider; -import net.minecraftforge.common.capabilities.ICapabilitySerializable; -import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.event.AttachCapabilitiesEvent; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.common.capabilities.Capability; +import net.neoforged.neoforge.common.capabilities.CapabilityManager; +import net.neoforged.neoforge.common.capabilities.CapabilityToken; +import net.neoforged.neoforge.common.capabilities.ICapabilityProvider; +import net.neoforged.neoforge.common.capabilities.ICapabilitySerializable; +import net.neoforged.neoforge.common.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.common.util.LazyOptional; +import net.neoforged.neoforge.event.AttachCapabilitiesEvent; +import net.neoforged.neoforge.event.entity.player.PlayerEvent; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; @@ -53,13 +53,13 @@ protected void persistentHidden(final ServerPlayer player, final boolean value) public void setupCapabilities() { FMLJavaModLoadingContext.get().getModEventBus().addListener((RegisterCapabilitiesEvent event) -> event.register(SquaremapPlayerCapability.class)); - MinecraftForge.EVENT_BUS.addGenericListener(Entity.class, (AttachCapabilitiesEvent event) -> { + NeoForge.EVENT_BUS.addGenericListener(Entity.class, (AttachCapabilitiesEvent event) -> { if (!(event.getObject() instanceof ServerPlayer)) { return; } event.addCapability(PLAYER_CAPABILITY_KEY, new SquaremapPlayerCapabilityProvider()); }); - MinecraftForge.EVENT_BUS.addListener((PlayerEvent.PlayerRespawnEvent.Clone event) -> { + NeoForge.EVENT_BUS.addListener((PlayerEvent.PlayerRespawnEvent.Clone event) -> { if ((!(event.getOriginal() instanceof ServerPlayer original) || !(event.getEntity() instanceof ServerPlayer entity))) { return; } diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeServerAccess.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeServerAccess.java similarity index 100% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeServerAccess.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeServerAccess.java diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java similarity index 95% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java index 6a9626d3..38d168b1 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/ForgeSquaremapJarAccess.java @@ -3,7 +3,7 @@ import com.google.inject.Inject; import java.io.IOException; import java.nio.file.Path; -import net.minecraftforge.fml.ModContainer; +import net.neoforged.fml.ModContainer; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.framework.qual.DefaultQualifier; import xyz.jpenilla.squaremap.common.util.CheckedConsumer; diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java similarity index 77% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java index b1f2d478..686c4eb1 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/SquaremapForge.java @@ -5,17 +5,17 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import net.minecraft.server.level.ServerLevel; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.GameShuttingDownEvent; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.event.level.LevelEvent; -import net.minecraftforge.event.server.ServerStartedEvent; -import net.minecraftforge.event.server.ServerStartingEvent; -import net.minecraftforge.event.server.ServerStoppedEvent; -import net.minecraftforge.eventbus.api.EventPriority; -import net.minecraftforge.fml.ModContainer; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.bus.api.EventPriority; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.event.GameShuttingDownEvent; +import net.neoforged.neoforge.event.TickEvent; +import net.neoforged.neoforge.event.entity.player.PlayerEvent; +import net.neoforged.neoforge.event.level.LevelEvent; +import net.neoforged.neoforge.event.server.ServerStartedEvent; +import net.neoforged.neoforge.event.server.ServerStartingEvent; +import net.neoforged.neoforge.event.server.ServerStoppedEvent; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; @@ -64,11 +64,11 @@ public SquaremapForge() { } private void registerLifecycleListeners() { - MinecraftForge.EVENT_BUS.addListener((ServerStartingEvent event) -> this.serverAccess.setServer(event.getServer())); - MinecraftForge.EVENT_BUS.addListener((ServerStoppedEvent event) -> this.serverAccess.clearServer()); + NeoForge.EVENT_BUS.addListener((ServerStartingEvent event) -> this.serverAccess.setServer(event.getServer())); + NeoForge.EVENT_BUS.addListener((ServerStoppedEvent event) -> this.serverAccess.clearServer()); final AtomicBoolean exportedFluids = new AtomicBoolean(false); - MinecraftForge.EVENT_BUS.addListener((PlayerEvent.PlayerLoggedOutEvent event) -> exportedFluids.set(false)); - MinecraftForge.EVENT_BUS.addListener(EventPriority.HIGH, (LevelEvent.Load event) -> { + NeoForge.EVENT_BUS.addListener((PlayerEvent.PlayerLoggedOutEvent event) -> exportedFluids.set(false)); + NeoForge.EVENT_BUS.addListener(EventPriority.HIGH, (LevelEvent.Load event) -> { if (event.getLevel().isClientSide() && !exportedFluids.getAndSet(true)) { this.injector.getInstance(ForgeFluidColorExporter.class).export(event.getLevel().registryAccess()); } @@ -77,15 +77,15 @@ private void registerLifecycleListeners() { } this.worldManager.initWorld(serverLevel); }); - MinecraftForge.EVENT_BUS.addListener((LevelEvent.Unload event) -> { + NeoForge.EVENT_BUS.addListener((LevelEvent.Unload event) -> { if (!(event.getLevel() instanceof ServerLevel serverLevel)) { return; } this.worldManager.worldUnloaded(serverLevel); }); - MinecraftForge.EVENT_BUS.addListener(new TickEndListener()); - MinecraftForge.EVENT_BUS.addListener((GameShuttingDownEvent event) -> this.common.shutdown()); - MinecraftForge.EVENT_BUS.addListener((ServerStartedEvent event) -> this.common.updateCheck()); + NeoForge.EVENT_BUS.addListener(new TickEndListener()); + NeoForge.EVENT_BUS.addListener((GameShuttingDownEvent event) -> this.common.shutdown()); + NeoForge.EVENT_BUS.addListener((ServerStartedEvent event) -> this.common.updateCheck()); } @Override diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java similarity index 95% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java index 873762bf..fae808c1 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommander.java @@ -9,9 +9,9 @@ import net.kyori.adventure.audience.ForwardingAudience; import net.minecraft.commands.CommandSourceStack; import net.minecraft.server.level.ServerPlayer; -import net.minecraftforge.server.permission.PermissionAPI; -import net.minecraftforge.server.permission.nodes.PermissionNode; -import net.minecraftforge.server.permission.nodes.PermissionTypes; +import net.neoforged.neoforge.server.permission.PermissionAPI; +import net.neoforged.neoforge.server.permission.nodes.PermissionNode; +import net.neoforged.neoforge.server.permission.nodes.PermissionTypes; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommands.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommands.java similarity index 100% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommands.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/command/ForgeCommands.java diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/data/ForgeMapWorld.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/data/ForgeMapWorld.java similarity index 100% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/data/ForgeMapWorld.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/data/ForgeMapWorld.java diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java similarity index 79% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java index 328ae8c9..e4a24b8c 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/event/ForgeMapUpdates.java @@ -9,14 +9,14 @@ import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.block.piston.PistonStructureResolver; import net.minecraft.world.level.levelgen.Heightmap; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.BlockSnapshot; -import net.minecraftforge.event.level.BlockEvent; -import net.minecraftforge.event.level.ChunkEvent; -import net.minecraftforge.event.level.ExplosionEvent; -import net.minecraftforge.event.level.PistonEvent; -import net.minecraftforge.event.level.SaplingGrowTreeEvent; -import net.minecraftforge.eventbus.api.EventPriority; +import net.neoforged.bus.api.EventPriority; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.common.util.BlockSnapshot; +import net.neoforged.neoforge.event.level.BlockEvent; +import net.neoforged.neoforge.event.level.ChunkEvent; +import net.neoforged.neoforge.event.level.ExplosionEvent; +import net.neoforged.neoforge.event.level.PistonEvent; +import net.neoforged.neoforge.event.level.SaplingGrowTreeEvent; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.framework.qual.DefaultQualifier; import xyz.jpenilla.squaremap.common.WorldManagerImpl; @@ -41,7 +41,7 @@ public void register() { BlockEvent.FarmlandTrampleEvent.class, BlockEvent.FluidPlaceBlockEvent.class, BlockEvent.PortalSpawnEvent.class - ).forEach(cls -> MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, cls, event -> { + ).forEach(cls -> NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, cls, event -> { if (!(event.getLevel() instanceof ServerLevel level)) { return; } @@ -51,13 +51,13 @@ public void register() { } this.markBlock(level, event.getPos()); })); - MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (BlockEvent.CreateFluidSourceEvent event) -> { + NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (BlockEvent.CreateFluidSourceEvent event) -> { if (!(event.getLevel() instanceof ServerLevel level)) { return; } this.markBlock(level, event.getPos()); }); - MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (ExplosionEvent.Detonate event) -> { + NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (ExplosionEvent.Detonate event) -> { if (!(event.getLevel() instanceof ServerLevel level)) { return; } @@ -65,13 +65,13 @@ public void register() { this.markBlock(level, affectedBlock); } }); - MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (SaplingGrowTreeEvent event) -> { + NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (SaplingGrowTreeEvent event) -> { if (!(event.getLevel() instanceof ServerLevel level)) { return; } this.markBlock(level, event.getPos()); }); - MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (PistonEvent.Post event) -> { + NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (PistonEvent.Post event) -> { if (!(event.getLevel() instanceof ServerLevel level)) { return; } @@ -80,7 +80,7 @@ public void register() { .forEach(pos -> this.markBlock(level, pos)); this.markBlock(level, event.getPos()); }); - MinecraftForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (ChunkEvent.Load event) -> { + NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, false, (ChunkEvent.Load event) -> { if (!(event.getLevel() instanceof ServerLevel level) || !event.isNewChunk()) { return; } diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java similarity index 95% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java index acdd92f6..755081d1 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/inject/module/ForgeModule.java @@ -5,8 +5,8 @@ import java.io.File; import java.nio.file.Path; import net.kyori.adventure.text.flattener.ComponentFlattener; -import net.minecraftforge.fml.ModContainer; -import net.minecraftforge.fml.ModList; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.ModList; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.framework.qual.DefaultQualifier; import xyz.jpenilla.squaremap.common.AbstractPlayerManager; diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/mixin/ChunkMapAccess.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/mixin/ChunkMapAccess.java similarity index 100% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/mixin/ChunkMapAccess.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/mixin/ChunkMapAccess.java diff --git a/forge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java similarity index 71% rename from forge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java rename to neoforge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java index 3f5adc6b..7108245f 100644 --- a/forge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java +++ b/neoforge/src/main/java/xyz/jpenilla/squaremap/forge/network/ForgeNetworking.java @@ -2,11 +2,11 @@ import com.google.inject.Inject; import net.minecraft.server.level.ServerPlayer; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.network.NetworkEvent; -import net.minecraftforge.network.NetworkRegistry; -import net.minecraftforge.network.event.EventNetworkChannel; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.event.entity.player.PlayerEvent; +import net.neoforged.neoforge.network.NetworkEvent; +import net.neoforged.neoforge.network.NetworkRegistry; +import net.neoforged.neoforge.network.event.EventNetworkChannel; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.framework.qual.DefaultQualifier; @@ -32,15 +32,15 @@ private ForgeNetworking(final NetworkingHandler networking) { public void register() { CHANNEL.addListener((NetworkEvent.ClientCustomPayloadEvent event) -> { - final @Nullable ServerPlayer player = event.getSource().get().getSender(); + final @Nullable ServerPlayer player = event.getSource().getSender(); if (player == null) { return; } - event.getSource().get().setPacketHandled(true); + event.getSource().setPacketHandled(true); this.networking.handleIncoming(player, Util.raw(event.getPayload()), map -> true); }); - MinecraftForge.EVENT_BUS.addListener((PlayerEvent.PlayerLoggedOutEvent event) -> this.networking.onDisconnect(event.getEntity().getUUID())); - MinecraftForge.EVENT_BUS.addListener((PlayerEvent.PlayerChangedDimensionEvent event) -> { + NeoForge.EVENT_BUS.addListener((PlayerEvent.PlayerLoggedOutEvent event) -> this.networking.onDisconnect(event.getEntity().getUUID())); + NeoForge.EVENT_BUS.addListener((PlayerEvent.PlayerChangedDimensionEvent event) -> { if (!(event.getEntity() instanceof ServerPlayer player)) { return; } diff --git a/neoforge/src/main/resources/META-INF/accesstransformer.cfg b/neoforge/src/main/resources/META-INF/accesstransformer.cfg new file mode 100644 index 00000000..71681858 --- /dev/null +++ b/neoforge/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1,2 @@ +# below are manually copied from squaremap-common.accesswidener, be sure to keep up to date with changes +public net.minecraft.world.level.chunk.PalettedContainer get(I)Ljava/lang/Object; diff --git a/forge/src/main/resources/META-INF/mods.toml b/neoforge/src/main/resources/META-INF/mods.toml similarity index 79% rename from forge/src/main/resources/META-INF/mods.toml rename to neoforge/src/main/resources/META-INF/mods.toml index 7cea2a77..261a5677 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/neoforge/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader = "javafml" -loaderVersion = "[47,)" +loaderVersion = "[1,)" license = "MIT" issueTrackerURL = "${github_url}issues/" showAsResourcePack = false @@ -14,16 +14,16 @@ description = "${description}" displayTest = "IGNORE_ALL_VERSION" [[dependencies.squaremap]] -modId = "forge" +modId = "neoforge" mandatory = true -versionRange = "[47,)" +versionRange = "[20.2,)" ordering = "NONE" side = "BOTH" [[dependencies.squaremap]] modId = "minecraft" mandatory = true -versionRange = "[1.20.1,1.21)" +versionRange = "[1.20.2,1.21)" ordering = "NONE" side = "BOTH" @@ -33,3 +33,6 @@ mandatory = true versionRange = "*" ordering = "AFTER" side = "BOTH" + +[[mixins]] +config = "squaremap-forge.mixins.json" diff --git a/forge/src/main/resources/pack.mcmeta b/neoforge/src/main/resources/pack.mcmeta similarity index 72% rename from forge/src/main/resources/pack.mcmeta rename to neoforge/src/main/resources/pack.mcmeta index a9db809b..7b2f3cf3 100644 --- a/forge/src/main/resources/pack.mcmeta +++ b/neoforge/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { "description": "squaremap resources", - "pack_format": 13 + "pack_format": 18 } } diff --git a/forge/src/main/resources/squaremap-forge.mixins.json b/neoforge/src/main/resources/squaremap-forge.mixins.json similarity index 100% rename from forge/src/main/resources/squaremap-forge.mixins.json rename to neoforge/src/main/resources/squaremap-forge.mixins.json diff --git a/settings.gradle.kts b/settings.gradle.kts index f514625d..4e017426 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -6,6 +6,7 @@ pluginManagement { maven("https://repo.spongepowered.org/repository/maven-public/") maven("https://maven.fabricmc.net/") maven("https://maven.architectury.dev/") + maven("https://maven.neoforged.net/releases/") } includeBuild("build-logic") } @@ -20,7 +21,7 @@ setupSubproject("api") setupSubproject("common") setupSubproject("paper") setupSubproject("fabric") -// setupSubproject("forge") +setupSubproject("neoforge") setupSubproject("sponge") fun setupSubproject(moduleName: String) {