Skip to content

Commit 057ddcf

Browse files
feat: port to 1.20.1
1 parent fb4cdc4 commit 057ddcf

File tree

16 files changed

+147
-129
lines changed

16 files changed

+147
-129
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## [20.1.0]
2+
3+
### Added
4+
5+
- Back ported the mod to 1.20.1
6+
17
## [21.1.2]
28

39
### Fixed

build.gradle

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id 'java-library'
33
id 'maven-publish'
4-
id 'net.neoforged.moddev' version '2.0.78'
4+
id 'net.neoforged.moddev.legacyforge' version '2.0.78'
55
id "me.modmuss50.mod-publish-plugin" version "0.8.4"
66
id 'idea'
77
id 'pro.mikey.plugins.insaniam' version "0.1-SNAPSHOT"
@@ -22,10 +22,10 @@ base {
2222
archivesName = mod_id
2323
}
2424

25-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
25+
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
2626

27-
neoForge {
28-
version = project.neo_version
27+
legacyForge {
28+
version = project.minecraft_version + "-" + project.neo_version
2929

3030
parchment {
3131
mappingsVersion = project.parchment_mappings_version
@@ -97,7 +97,7 @@ var generateModMetadata = tasks.register("generateModMetadata", ProcessResources
9797
}
9898

9999
sourceSets.main.resources.srcDir generateModMetadata
100-
neoForge.ideSyncTask generateModMetadata
100+
legacyForge.ideSyncTask generateModMetadata
101101

102102
publishing {
103103
publications {
@@ -138,30 +138,28 @@ publishMods {
138138
version = "${mod_version}"
139139
type = STABLE
140140

141-
file = jar.archiveFile
141+
file = reobfJar.archiveFile
142142
displayName = "Pop ${mod_version}"
143143
modLoaders.add("neoforge")
144+
modLoaders.add("forge")
144145

145146
// Get the commit message from the environment variable
146147
def commitMessage = providers.environmentVariable("COMMIT_MESSAGE").orElse("No commit message provided")
147148

148149
curseforge {
149-
dryRun = commitMessage.get().contains("[skip-curse]")
150150
accessToken = curseToken.orElse("dryRun")
151151
projectId = "1231826"
152152
minecraftVersions.add("${minecraft_version}")
153153
}
154154

155155
modrinth {
156-
dryRun = commitMessage.get().contains("[skip-modrinth]")
157156
accessToken = providers.environmentVariable("MODRINTH_TOKEN")
158157
projectId = "uu63G4RC"
159158
minecraftVersions.add("${minecraft_version}")
160159
}
161160

162161
github {
163-
dryRun = commitMessage.get().contains("[skip-github]")
164-
file = jar.archiveFile
162+
file = reobfJar.archiveFile
165163

166164
repository = "nanite/pop"
167165
accessToken = providers.environmentVariable("GITHUB_TOKEN")

gradle.properties

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ org.gradle.parallel=true
44
org.gradle.caching=true
55
org.gradle.configuration-cache=true
66

7-
parchment_minecraft_version=1.21.1
8-
parchment_mappings_version=2024.11.17
7+
parchment_minecraft_version=1.20.1
8+
parchment_mappings_version=2023.09.03
99

10-
minecraft_version=1.21.1
11-
minecraft_version_range=[1.21.1, 1.21.2)
12-
neo_version=21.1.133
13-
neo_version_range=[21.1.0,)
14-
loader_version_range=[4,)
10+
minecraft_version=1.20.1
11+
minecraft_version_range=[1.20.1,1.20.2)
12+
neo_version=47.4.1
13+
neo_version_range=[47.2.0,48.0.0)
14+
loader_version_range=[47,)
1515

1616
mod_id=pop
1717
mod_name=Pop
1818
mod_license=Mozilla Public License 2.0
19-
mod_version=21.1.2
19+
mod_version=20.1.0
2020
mod_group_id=pro.mikey.mods
2121
mod_authors=ErrorMikey
2222
mod_description=Pop is a small helper mod for modpack developers to allow for more screen locations to display information on screen in a command driven, or kubejs driven way.
Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package pro.mikey.mods.pop;
22

3-
import net.neoforged.bus.api.SubscribeEvent;
4-
import net.neoforged.fml.common.EventBusSubscriber;
5-
import net.neoforged.fml.event.config.ModConfigEvent;
6-
import net.neoforged.neoforge.common.ModConfigSpec;
3+
import net.minecraftforge.common.ForgeConfigSpec;
4+
import net.minecraftforge.fml.common.Mod;
75

8-
@EventBusSubscriber(modid = Pop.MODID, bus = EventBusSubscriber.Bus.MOD)
6+
@Mod.EventBusSubscriber(modid = Pop.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
97
public class Config {
10-
private static final ModConfigSpec.Builder BUILDER = new ModConfigSpec.Builder();
11-
static final ModConfigSpec SPEC = BUILDER.build();
12-
13-
@SubscribeEvent
14-
static void onLoad(final ModConfigEvent event) {
15-
}
8+
private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
9+
static final ForgeConfigSpec SPEC = BUILDER.build();
1610
}
Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
package pro.mikey.mods.pop;
22

33
import net.minecraft.resources.ResourceLocation;
4-
import net.neoforged.bus.api.SubscribeEvent;
5-
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
6-
import net.neoforged.fml.loading.FMLEnvironment;
7-
import net.neoforged.neoforge.common.NeoForge;
8-
import net.neoforged.neoforge.event.RegisterCommandsEvent;
4+
import net.minecraftforge.common.MinecraftForge;
5+
import net.minecraftforge.event.RegisterCommandsEvent;
6+
import net.minecraftforge.eventbus.api.SubscribeEvent;
7+
import net.minecraftforge.fml.common.Mod;
8+
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
9+
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
10+
import net.minecraftforge.fml.loading.FMLEnvironment;
911
import org.slf4j.Logger;
1012

1113
import com.mojang.logging.LogUtils;
1214

13-
import net.neoforged.bus.api.IEventBus;
14-
import net.neoforged.fml.ModContainer;
15-
import net.neoforged.fml.common.Mod;
16-
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
1715
import pro.mikey.mods.pop.client.ClientInit;
1816
import pro.mikey.mods.pop.net.Networking;
1917

@@ -22,33 +20,31 @@ public class Pop {
2220
public static final String MODID = "pop";
2321
private static final Logger LOGGER = LogUtils.getLogger();
2422

25-
public Pop(IEventBus modEventBus, ModContainer modContainer) {
26-
modEventBus.addListener(this::commonSetup);
23+
public Pop() {
24+
var modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
25+
2726
modEventBus.addListener(this::onClientSetup);
28-
modEventBus.addListener(Networking::register);
2927

30-
NeoForge.EVENT_BUS.register(this);
28+
MinecraftForge.EVENT_BUS.register(this);
3129

3230
if (FMLEnvironment.dist.isClient()) {
3331
modEventBus.addListener(ClientInit::onScreenRender);
3432
}
3533

36-
// modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
34+
Networking.register();
3735
}
3836

39-
private void commonSetup(final FMLCommonSetupEvent event) {
40-
}
4137

4238
private void onClientSetup(final FMLClientSetupEvent event) {
4339
ClientInit.init();
4440
}
4541

4642
@SubscribeEvent
47-
private void onRegisterCommands(final RegisterCommandsEvent event) {
43+
public void onRegisterCommands(final RegisterCommandsEvent event) {
4844
event.getDispatcher().register(PopCommands.register(event.getBuildContext()));
4945
}
5046

5147
public static ResourceLocation id(String path) {
52-
return ResourceLocation.fromNamespaceAndPath(MODID, path);
48+
return new ResourceLocation(MODID, path);
5349
}
5450
}

src/main/java/pro/mikey/mods/pop/PopBuilder.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import net.minecraft.network.chat.Component;
44
import net.minecraft.server.level.ServerPlayer;
55
import net.minecraft.world.entity.player.Player;
6-
import net.neoforged.api.distmarker.Dist;
7-
import net.neoforged.fml.loading.FMLEnvironment;
8-
import net.neoforged.neoforge.network.PacketDistributor;
6+
import net.minecraftforge.api.distmarker.Dist;
7+
import net.minecraftforge.fml.loading.FMLEnvironment;
98
import pro.mikey.mods.pop.client.pops.AnimTracker;
109
import pro.mikey.mods.pop.client.pops.FadeInFadeOutRender;
1110
import pro.mikey.mods.pop.data.Placement;
1211
import pro.mikey.mods.pop.client.pops.PopManager;
1312
import pro.mikey.mods.pop.data.PopData;
1413
import pro.mikey.mods.pop.net.ClientCreatePopPacket;
14+
import pro.mikey.mods.pop.net.Networking;
1515

1616
/**
1717
* This class is almost exclusively added for KubeJS support.
@@ -60,7 +60,7 @@ public void sendToPlayer(Player player) {
6060
var packet = new ClientCreatePopPacket(content, placement, durationInSeconds);
6161

6262
// Send the packet to the player
63-
PacketDistributor.sendToPlayer((ServerPlayer) player, packet);
63+
Networking.sendTo(packet, (ServerPlayer) player);
6464
}
6565

6666
public void display() {

src/main/java/pro/mikey/mods/pop/PopCommands.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
import net.minecraft.commands.arguments.ComponentArgument;
1313
import net.minecraft.commands.arguments.EntityArgument;
1414
import net.minecraft.network.chat.Component;
15-
import net.neoforged.neoforge.network.PacketDistributor;
16-
import net.neoforged.neoforge.server.command.EnumArgument;
15+
import net.minecraftforge.server.command.EnumArgument;
1716
import pro.mikey.mods.pop.data.Placement;
1817
import pro.mikey.mods.pop.net.ClientCreatePopPacket;
18+
import pro.mikey.mods.pop.net.Networking;
1919

2020
public class PopCommands {
2121
// TODO: Translate
@@ -28,12 +28,12 @@ public static LiteralArgumentBuilder<CommandSourceStack> register(CommandBuildCo
2828
.then(Commands.argument("target", EntityArgument.players())
2929
.then(Commands.argument("placement", EnumArgument.enumArgument(Placement.class))
3030
.then(Commands.argument("duration", IntegerArgumentType.integer(1))
31-
.then(Commands.argument("content", ComponentArgument.textComponent(context)).executes(PopCommands::sendPop))
31+
.then(Commands.argument("content", ComponentArgument.textComponent()).executes(PopCommands::sendPop))
3232
.then(Commands.argument("text", StringArgumentType.greedyString()).executes(PopCommands::sendPop))
3333
)
3434
)
3535
.then(Commands.argument("duration", IntegerArgumentType.integer(1))
36-
.then(Commands.argument("content", ComponentArgument.textComponent(context)).executes(PopCommands::sendPop))
36+
.then(Commands.argument("content", ComponentArgument.textComponent()).executes(PopCommands::sendPop))
3737
.then(Commands.argument("text", StringArgumentType.greedyString()).executes(PopCommands::sendPop))
3838
)
3939
)
@@ -65,7 +65,7 @@ private static int sendPop(CommandContext<CommandSourceStack> stack) throws Comm
6565

6666
var packet = new ClientCreatePopPacket(content, placement, duration);
6767
for (var target : targets) {
68-
PacketDistributor.sendToPlayer(target, packet);
68+
Networking.sendTo(packet, target);
6969
}
7070
return 0;
7171
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package pro.mikey.mods.pop.client;
22

3-
import net.neoforged.bus.api.SubscribeEvent;
4-
import net.neoforged.neoforge.client.event.RegisterGuiLayersEvent;
3+
import net.minecraftforge.client.event.RegisterGuiOverlaysEvent;
4+
import net.minecraftforge.eventbus.api.SubscribeEvent;
55

66
public class ClientInit {
77
public static void init() {
88

99
}
1010

1111
@SubscribeEvent
12-
public static void onScreenRender(RegisterGuiLayersEvent event) {
12+
public static void onScreenRender(RegisterGuiOverlaysEvent event) {
1313
event.registerAboveAll(PopLayer.LAYER_ID, new PopLayer());
1414
}
1515
}

src/main/java/pro/mikey/mods/pop/client/PopLayer.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
package pro.mikey.mods.pop.client;
22

3-
import net.minecraft.client.DeltaTracker;
43
import net.minecraft.client.gui.GuiGraphics;
5-
import net.minecraft.client.gui.LayeredDraw;
64
import net.minecraft.resources.ResourceLocation;
5+
import net.minecraftforge.client.gui.overlay.ForgeGui;
6+
import net.minecraftforge.client.gui.overlay.IGuiOverlay;
77
import org.slf4j.Logger;
88
import org.slf4j.LoggerFactory;
9-
import pro.mikey.mods.pop.Pop;
109
import pro.mikey.mods.pop.client.pops.PopManager;
1110
import pro.mikey.mods.pop.data.PopData;
1211

1312
import javax.annotation.Nullable;
1413

15-
public class PopLayer implements LayeredDraw.Layer {
16-
public static final ResourceLocation LAYER_ID = Pop.id("pop_layer");
14+
public class PopLayer implements IGuiOverlay {
15+
public static final String LAYER_ID = "overlay-layer";
1716

1817
private static final Logger LOGGER = LoggerFactory.getLogger(PopLayer.class);
1918

@@ -38,7 +37,7 @@ private PopData getNextOrCurrent() {
3837
}
3938

4039
@Override
41-
public void render(GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
40+
public void render(ForgeGui forgeGui, GuiGraphics guiGraphics, float partialTicks, int screenWidth, int screenHeigh) {
4241
var pop = getNextOrCurrent();
4342
if (pop == null) {
4443
return;
@@ -52,6 +51,6 @@ public void render(GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
5251
return;
5352
}
5453

55-
renderer.render(currentPop, guiGraphics, deltaTracker);
54+
renderer.render(currentPop, guiGraphics, partialTicks);
5655
}
5756
}

src/main/java/pro/mikey/mods/pop/client/pops/FadeInFadeOutRender.java

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

33
import com.mojang.blaze3d.systems.RenderSystem;
44
import com.mojang.blaze3d.vertex.PoseStack;
5-
import net.minecraft.client.DeltaTracker;
65
import net.minecraft.client.Minecraft;
76
import net.minecraft.client.gui.GuiGraphics;
87
import net.minecraft.util.Mth;
@@ -16,20 +15,18 @@ public class FadeInFadeOutRender implements IPopRender {
1615
float lastOpacity = 0.0F;
1716

1817
@Override
19-
public void render(PopData pop, GuiGraphics graphics, DeltaTracker deltaTracker) {
18+
public void render(PopData pop, GuiGraphics graphics, float partialTicks) {
2019
pop.tracker().onRenderFrame();
2120
var stage = pop.tracker().getStage();
2221
var currentStageCompletion = pop.tracker().currentStageCompletion();
2322

24-
var delta = deltaTracker.getGameTimeDeltaTicks();
25-
2623
// Fade in and out, smoothly by lerping the opacity
2724
float opacity = 1.0f;
2825
float xOffset = 0.0f;
2926
if (stage != AnimStage.IDLE) {
3027
float nextOpacity = stage == AnimStage.IN ? currentStageCompletion / 100.0F : 1.0F - (currentStageCompletion / 100.0F);
3128
lastOpacity = nextOpacity;
32-
opacity = Mth.lerp(delta, lastOpacity, nextOpacity);
29+
opacity = Mth.lerp(partialTicks, lastOpacity, nextOpacity);
3330
}
3431

3532
PoseStack pose = graphics.pose();

0 commit comments

Comments
 (0)