Skip to content

Commit d09f6c6

Browse files
feat: port to 1.20.2 neoforge
1 parent 4784fc3 commit d09f6c6

21 files changed

Lines changed: 116 additions & 135 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ CREDITS-fml.txt
2727
classes/
2828
.DS_Store
2929
/logs/
30+
runs/

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
### Changed
44

5-
- Updated to 1.20.2
5+
- Updated to 1.20.2 for NeoForge
66
- Shifted versioning to be inline with Minecraft release numbers for the major game version (1.20.2 being 82 for example)

build.gradle

Lines changed: 29 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
plugins {
22
id 'idea'
3+
id 'java-library'
34
id 'maven-publish'
4-
id 'net.minecraftforge.gradle' version '[6.0.16,6.2)'
5+
id 'net.neoforged.gradle.userdev' version '7.0.55'
6+
id 'net.neoforged.gradle.mixin' version '7.0.55'
57
id "me.modmuss50.mod-publish-plugin" version "0.4.5"
6-
id 'org.spongepowered.mixin' version '0.7.+'
78
}
89

910
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
@@ -12,53 +13,39 @@ version = mod_version
1213
group = 'pro.mikey'
1314

1415
base {
15-
archivesName = "advanced-xray-forge"
16+
archivesName = "advanced-xray-neoforge"
1617
}
1718

1819
mixin {
19-
add sourceSets.main, 'xray.mixins.refmap.json'
2020
config 'xray.mixins.json'
2121
}
2222

23-
minecraft {
24-
mappings channel: "official", version: minecraft_version
23+
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
2524

26-
copyIdeResources = true
27-
// See https://docs.minecraftforge.net/en/latest/advanced/accesstransformers/ for more information.
28-
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
25+
runs {
26+
// applies to all the run configs below
27+
configureEach {
28+
systemProperty 'forge.logging.markers', 'REGISTRIES'
29+
systemProperty 'forge.logging.console.level', 'debug'
2930

30-
runs {
31-
// applies to all the run configs below
32-
configureEach {
33-
workingDirectory project.file('run')
34-
35-
property 'forge.logging.markers', 'REGISTRIES'
36-
property 'forge.logging.console.level', 'debug'
37-
38-
mods {
39-
"${mod_id}" {
40-
source sourceSets.main
41-
}
42-
}
43-
}
31+
modSource project.sourceSets.main
32+
}
4433

45-
client {
46-
property 'forge.enabledGameTestNamespaces', mod_id
47-
}
34+
client {
35+
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
36+
}
4837

49-
server {
50-
property 'forge.enabledGameTestNamespaces', mod_id
51-
args '--nogui'
52-
}
38+
server {
39+
systemProperty 'forge.enabledGameTestNamespaces', mod_id
40+
programArgument '--nogui'
41+
}
5342

54-
gameTestServer {
55-
property 'forge.enabledGameTestNamespaces', mod_id
56-
}
43+
gameTestServer {
44+
systemProperty 'forge.enabledGameTestNamespaces', mod_id
45+
}
5746

58-
data {
59-
workingDirectory project.file('run-data')
60-
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
61-
}
47+
data {
48+
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
6249
}
6350
}
6451

@@ -81,8 +68,8 @@ processResources {
8168
}
8269

8370
dependencies {
84-
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
85-
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
71+
implementation "net.neoforged:neoforge:${forge_version}"
72+
8673
}
8774

8875
repositories {
@@ -119,7 +106,7 @@ publishing {
119106
publications {
120107
mavenJava(MavenPublication) {
121108
artifactId = rootProject.archivesBaseName
122-
artifact jar
109+
from components.java
123110
}
124111
}
125112

@@ -147,8 +134,8 @@ publishMods {
147134
accessToken = providers.environmentVariable("CURSE_DEPLOY_TOKEN")
148135
projectId = "${curse_id}"
149136
minecraftVersions.add("${minecraft_version}")
150-
modLoaders.add("forge")
151-
displayName = "[FORGE] [${minecraft_version}] ${project.name} ${mod_version}"
137+
modLoaders.add("neoforge")
138+
displayName = "[NEOFORGE] [${minecraft_version}] ${project.name} ${mod_version}"
152139
file = project.tasks.jar.archiveFile
153140
}
154141

gradle.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@ minecraft_version=1.20.2
88
minecraft_version_range=[%base],1.20.3
99

1010
# Forge
11-
forge_version=48.0.49
11+
forge_version= 20.2.86
1212
curse_id=256256
13-
14-
loom.platform=forge

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ pluginManagement {
77
}
88
}
99

10-
rootProject.name = 'advanced-xray-forge'
10+
rootProject.name = 'advanced-xray-neoforge'

src/main/java/pro/mikey/xray/ClientController.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
import net.minecraft.client.resources.language.I18n;
66
import net.minecraft.network.chat.Component;
77
import net.minecraft.world.entity.player.Player;
8-
import net.minecraftforge.common.MinecraftForge;
9-
import net.minecraftforge.event.entity.EntityJoinLevelEvent;
10-
import net.minecraftforge.eventbus.api.IEventBus;
11-
import net.minecraftforge.fml.ModLoadingContext;
12-
import net.minecraftforge.fml.config.ModConfig;
13-
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
14-
import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent;
15-
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
8+
import net.neoforged.bus.api.IEventBus;
9+
import net.neoforged.fml.ModLoadingContext;
10+
import net.neoforged.fml.config.ModConfig;
11+
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
12+
import net.neoforged.fml.event.lifecycle.FMLLoadCompleteEvent;
13+
import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext;
14+
import net.neoforged.neoforge.common.NeoForge;
15+
import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent;
1616
import pro.mikey.xray.keybinding.KeyBindings;
1717
import pro.mikey.xray.store.BlockStore;
1818
import pro.mikey.xray.store.DiscoveryStorage;
@@ -39,11 +39,11 @@ public static void setup() {
3939
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, Configuration.SPEC);
4040

4141
// Keybindings
42-
MinecraftForge.EVENT_BUS.register(KeyBindings.class);
43-
MinecraftForge.EVENT_BUS.addListener(ClientController::onGameJoin);
42+
NeoForge.EVENT_BUS.register(KeyBindings.class);
43+
NeoForge.EVENT_BUS.addListener(ClientController::onGameJoin);
4444

45-
MinecraftForge.EVENT_BUS.addListener(Events::tickEnd);
46-
MinecraftForge.EVENT_BUS.addListener(Events::onWorldRenderLast);
45+
NeoForge.EVENT_BUS.addListener(Events::tickEnd);
46+
NeoForge.EVENT_BUS.addListener(Events::onWorldRenderLast);
4747

4848
}
4949

src/main/java/pro/mikey/xray/Configuration.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
package pro.mikey.xray;
22

3-
import net.minecraftforge.common.ForgeConfigSpec;
3+
4+
import net.neoforged.neoforge.common.ModConfigSpec;
45

56
public class Configuration
67
{
7-
private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
8+
private static final ModConfigSpec.Builder BUILDER = new ModConfigSpec.Builder();
89

910
public static final General general = new General();
1011
public static final Store store = new Store();
1112

12-
public static final ForgeConfigSpec.BooleanValue firstRun = BUILDER
13+
public static final ModConfigSpec.BooleanValue firstRun = BUILDER
1314
.comment("DO NOT TOUCH!", "This is not for you.", "This is used to check if it's the first time the mod has been run")
1415
.define("firstRun", true);
1516

1617
public static class General {
17-
public final ForgeConfigSpec.BooleanValue showOverlay;
18-
public final ForgeConfigSpec.DoubleValue outlineThickness;
18+
public final ModConfigSpec.BooleanValue showOverlay;
19+
public final ModConfigSpec.DoubleValue outlineThickness;
1920

2021
General() {
2122
BUILDER.push("general");
@@ -34,8 +35,8 @@ public static class General {
3435
}
3536

3637
public static class Store {
37-
public final ForgeConfigSpec.IntValue radius;
38-
public final ForgeConfigSpec.BooleanValue lavaActive;
38+
public final ModConfigSpec.IntValue radius;
39+
public final ModConfigSpec.BooleanValue lavaActive;
3940

4041
Store() {
4142
BUILDER.comment("DO NOT TOUCH!").push("store");
@@ -52,5 +53,5 @@ public static class Store {
5253
}
5354
}
5455

55-
public static final ForgeConfigSpec SPEC = BUILDER.build();
56+
public static final ModConfigSpec SPEC = BUILDER.build();
5657
}

src/main/java/pro/mikey/xray/XRay.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package pro.mikey.xray;
22

3-
import net.minecraftforge.api.distmarker.Dist;
4-
import net.minecraftforge.fml.DistExecutor;
5-
import net.minecraftforge.fml.IExtensionPoint;
6-
import net.minecraftforge.fml.ModLoadingContext;
7-
import net.minecraftforge.fml.common.Mod;
3+
import net.neoforged.api.distmarker.Dist;
4+
import net.neoforged.fml.DistExecutor;
5+
import net.neoforged.fml.IExtensionPoint;
6+
import net.neoforged.fml.ModLoadingContext;
7+
import net.neoforged.fml.common.Mod;
88
import org.apache.logging.log4j.LogManager;
99
import org.apache.logging.log4j.Logger;
1010

src/main/java/pro/mikey/xray/gui/GuiOverlay.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
import net.minecraft.client.gui.GuiGraphics;
66
import net.minecraft.client.resources.language.I18n;
77
import net.minecraft.resources.ResourceLocation;
8-
import net.minecraftforge.api.distmarker.Dist;
9-
import net.minecraftforge.api.distmarker.OnlyIn;
10-
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
11-
import net.minecraftforge.eventbus.api.EventPriority;
12-
import net.minecraftforge.eventbus.api.SubscribeEvent;
13-
import net.minecraftforge.fml.common.Mod;
8+
import net.neoforged.api.distmarker.Dist;
9+
import net.neoforged.api.distmarker.OnlyIn;
10+
import net.neoforged.bus.api.EventPriority;
11+
import net.neoforged.bus.api.SubscribeEvent;
12+
import net.neoforged.fml.common.Mod;
13+
import net.neoforged.neoforge.client.event.RenderGuiOverlayEvent;
1414
import pro.mikey.xray.Configuration;
1515
import pro.mikey.xray.XRay;
1616
import pro.mikey.xray.xray.Controller;
@@ -21,9 +21,9 @@ public class GuiOverlay {
2121

2222
@OnlyIn(Dist.CLIENT)
2323
@SubscribeEvent(priority = EventPriority.LOWEST)
24-
public static void RenderGameOverlayEvent(RenderGuiOverlayEvent event) {
24+
public static void RenderGameOverlayEvent(RenderGuiOverlayEvent.Post event) {
2525
// Draw Indicator
26-
if(!Controller.isXRayActive() || !Configuration.general.showOverlay.get() || event.isCanceled())
26+
if(!Controller.isXRayActive() || !Configuration.general.showOverlay.get())
2727
return;
2828

2929
RenderSystem.setShaderColor(0, 1F, 0, 1F);

src/main/java/pro/mikey/xray/gui/manage/GuiAddBlock.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package pro.mikey.xray.gui.manage;
22

3-
import com.mojang.blaze3d.platform.Lighting;
4-
import com.mojang.blaze3d.vertex.PoseStack;
3+
54
import net.minecraft.client.Minecraft;
65
import net.minecraft.client.gui.GuiGraphics;
76
import net.minecraft.client.gui.components.Button;
87
import net.minecraft.client.gui.components.EditBox;
98
import net.minecraft.client.resources.language.I18n;
9+
import net.minecraft.core.registries.BuiltInRegistries;
1010
import net.minecraft.network.chat.Component;
1111
import net.minecraft.resources.ResourceLocation;
1212
import net.minecraft.world.item.ItemStack;
1313
import net.minecraft.world.level.block.Block;
14-
import net.minecraftforge.client.gui.widget.ForgeSlider;
15-
import net.minecraftforge.registries.ForgeRegistries;
14+
import net.neoforged.neoforge.client.gui.widget.ExtendedSlider;
1615
import pro.mikey.xray.ClientController;
1716
import pro.mikey.xray.gui.GuiSelectionScreen;
1817
import pro.mikey.xray.gui.utils.GuiBase;
@@ -25,9 +24,9 @@
2524

2625
public class GuiAddBlock extends GuiBase {
2726
private EditBox oreName;
28-
private ForgeSlider redSlider;
29-
private ForgeSlider greenSlider;
30-
private ForgeSlider blueSlider;
27+
private ExtendedSlider redSlider;
28+
private ExtendedSlider greenSlider;
29+
private ExtendedSlider blueSlider;
3130

3231
private final Block selectBlock;
3332
private final ItemStack itemStack;
@@ -49,7 +48,7 @@ public void init() {
4948
addRenderableWidget(Button.builder(Component.translatable("xray.single.add"), b -> {
5049
this.onClose();
5150

52-
ResourceLocation key = ForgeRegistries.BLOCKS.getKey(selectBlock);
51+
ResourceLocation key = BuiltInRegistries.BLOCK.getKey(selectBlock);
5352
if (key == null)
5453
return;
5554

@@ -80,9 +79,9 @@ public void init() {
8079
.size(72, 20)
8180
.build());
8281

83-
addRenderableWidget(redSlider = new ForgeSlider(getWidth() / 2 - 100, getHeight() / 2 + 7, 202, 20, Component.translatable("xray.color.red"), Component.empty(), 0, 255, 0, true));
84-
addRenderableWidget(greenSlider = new ForgeSlider(getWidth() / 2 - 100, getHeight() / 2 + 30, 202, 20, Component.translatable("xray.color.green"), Component.empty(), 0, 255, 165, true));
85-
addRenderableWidget(blueSlider = new ForgeSlider(getWidth() / 2 - 100, getHeight() / 2 + 53,202, 20, Component.translatable("xray.color.blue"), Component.empty(), 0, 255, 255, true));
82+
addRenderableWidget(redSlider = new ExtendedSlider(getWidth() / 2 - 100, getHeight() / 2 + 7, 202, 20, Component.translatable("xray.color.red"), Component.empty(), 0, 255, 0, true));
83+
addRenderableWidget(greenSlider = new ExtendedSlider(getWidth() / 2 - 100, getHeight() / 2 + 30, 202, 20, Component.translatable("xray.color.green"), Component.empty(), 0, 255, 165, true));
84+
addRenderableWidget(blueSlider = new ExtendedSlider(getWidth() / 2 - 100, getHeight() / 2 + 53,202, 20, Component.translatable("xray.color.blue"), Component.empty(), 0, 255, 255, true));
8685

8786
oreName = new EditBox(getMinecraft().font, getWidth() / 2 - 100, getHeight() / 2 - 70, 202, 20, Component.empty());
8887
oreName.setValue(this.selectBlock.getName().getString());

0 commit comments

Comments
 (0)