Skip to content

Commit

Permalink
NeoForge 1.20.2
Browse files Browse the repository at this point in the history
  • Loading branch information
jpenilla committed Nov 17, 2023
1 parent 449114c commit 5ce788a
Show file tree
Hide file tree
Showing 24 changed files with 105 additions and 84 deletions.
1 change: 1 addition & 0 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
1 change: 0 additions & 1 deletion forge/gradle.properties

This file was deleted.

4 changes: 0 additions & 4 deletions forge/src/main/resources/META-INF/accesstransformer.cfg

This file was deleted.

10 changes: 5 additions & 5 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -20,15 +20,15 @@ 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"
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]
Expand All @@ -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" }
Expand All @@ -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" }
Expand Down
26 changes: 22 additions & 4 deletions forge/build.gradle.kts → neoforge/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -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")
Expand All @@ -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
Expand Down Expand Up @@ -57,3 +70,8 @@ configurations.include {
}
}
}

publishMods.modrinth {
minecraftVersions.add(libs.versions.minecraft)
modLoaders.add("neoforge")
}
1 change: 1 addition & 0 deletions neoforge/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
loom.platform=neoforge
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<Entity> event) -> {
NeoForge.EVENT_BUS.addGenericListener(Entity.class, (AttachCapabilitiesEvent<Entity> 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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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());
}
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Expand All @@ -51,27 +51,27 @@ 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;
}
for (final BlockPos affectedBlock : event.getAffectedBlocks()) {
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;
}
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Expand Down
2 changes: 2 additions & 0 deletions neoforge/src/main/resources/META-INF/accesstransformer.cfg
Original file line number Diff line number Diff line change
@@ -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;
Loading

0 comments on commit 5ce788a

Please sign in to comment.