diff --git a/AUTHORS b/AUTHORS index 70ab864b2..48411a59c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,3 +7,4 @@ Benjamin Plain (bplainia) Jacob Hayes (tigerbird1) Milan Damen (milandamen) Daniel Schmidt (Danielxs01) +Anthony/Angelina Michalek (Codetoil) \ No newline at end of file diff --git a/build.gradle b/build.gradle index 55ee450de..5a26976ca 100644 --- a/build.gradle +++ b/build.gradle @@ -1,29 +1,10 @@ -buildscript { - repositories { - maven { url "https://maven.neoforged.net/releases" } - maven { url "https://plugins.gradle.org/m2/" } - maven { url 'https://repo.spongepowered.org/maven' } - mavenCentral() - } - dependencies { - classpath group: 'net.neoforged.gradle', name: 'userdev', version: '7.1.11' - classpath group: 'net.neoforged.gradle', name: 'common', version: '7.1.11' - classpath "com.gradleup.shadow:shadow-gradle-plugin:9.2.2" - } -} - -apply plugin: 'net.neoforged.gradle.userdev' -apply plugin: 'net.neoforged.gradle.common' -//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. -apply plugin: 'eclipse' -apply plugin: 'maven-publish' -apply plugin: 'com.gradleup.shadow' - -configurations { - shade - implementation.extendsFrom shade - minecraftLibrary - implementation.extendsFrom minecraftLibrary +plugins { + id 'java' + id 'idea' + id 'eclipse' + id 'maven-publish' + id 'net.minecraftforge.gradle' version '[7.0.23,8.0)' + id 'net.minecraftforge.jarjar' version '0.2.3' } java { @@ -44,85 +25,96 @@ if (!"release".equalsIgnoreCase(System.getProperty("target"))) { umcVersion += "-unknown" } } -version = "1.21.1-neoforge-" + umcVersion +version = "1.21.1-forge-" + umcVersion group = "cam72cam.universalmodcore" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "UniversalModCore" +base.archivesName = "UniversalModCore" java.toolchain.languageVersion = JavaLanguageVersion.of(21) println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) -// Default run configurations. -// These can be tweaked, removed, or duplicated as needed. -runs { - // applies to all the run configs below - configureEach { - //Enable mixin-ed dependency in deobfuscated environment - systemProperty "mixin.env.remapRefMap", "true" - systemProperty "mixin.env.refMapRemappingFile", "${projectDir}/build/createSrgToMcp/output.srg" - - systemProperty "mixin.debug.verbose", "true" - systemProperty "mixin.debug.export", "true" - // Recommended logging data for a userdev environment - // The markers can be added/remove as needed separated by commas. - // "SCAN": For mods scan. - // "REGISTRIES": For firing of registry events. - // "REGISTRYDUMP": For getting the contents of all registries. - systemProperty 'forge.logging.markers', 'REGISTRIES' - - // Recommended logging level for the console - // You can set various levels here. - // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels - systemProperty 'forge.logging.console.level', 'debug' - - dependencies { - runtime project.configurations.minecraftLibrary +minecraft { + mappings channel: "official", version: "1.21.1" + accessTransformer = true + + runs { + // applies to all the run configs below + configureEach { + workingDir.convention layout.projectDirectory.dir('run') + // Mixin requires either specifying the config via command line, or in the Manifest + args "--mixin.config=universalmodcore.feat.mixins.json", "--mixin.config=universalmodcore.fix.mixins.json" + + systemProperty "mixin.debug.verbose", "true" + systemProperty "mixin.debug.export", "true" + // Recommended logging data for a userdev environment + // The markers can be added/remove as needed separated by commas. + // "SCAN": For mods scan. + // "REGISTRIES": For firing of registry events. + // "REGISTRYDUMP": For getting the contents of all registries. + systemProperty 'forge.logging.markers', 'REGISTRIES' + + // Recommended logging level for the console + // You can set various levels here. + // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels + systemProperty 'forge.logging.console.level', 'debug' } - modSource project.sourceSets.main - } - - client { - // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. - systemProperty 'neoforge.enabledGameTestNamespaces', 'universalmodcore' - } + register('client') { + // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + } - server { - systemProperty 'neoforge.enabledGameTestNamespaces', 'universalmodcore' - argument '--nogui' - } + register('server') { + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + args '--nogui' + } - // This run config launches GameTestServer and runs all registered gametests, then exits. - // By default, the server will crash when no gametests are provided. - // The gametest system is also enabled by default for other run configs under the /test command. - gameTestServer { - systemProperty 'neoforge.enabledGameTestNamespaces', 'universalmodcore' - } + // This run config launches GameTestServer and runs all registered gametests, then exits. + // By default, the server will crash when no gametests are provided. + // The gametest system is also enabled by default for other run configs under the /test command. + register('gameTestServer') { + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + } - data { - // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it - // workingDirectory project.file('run-data') + register('data') { + // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it + // workingDirectory project.file('run-data') - // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. - arguments.addAll '--mod', 'universalmodcore', '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. + args '--mod', 'universalmodcore', '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + } } } -accessTransformers { - file 'src/main/resources/META-INF/accesstransformer.cfg' -} +sourceSets.main.resources { srcDir layout.projectDirectory.dir('src/generated/resources') } -repositories { - mavenCentral() +// This methods registers jarJar for the default jar task. +// The closure allows you to configure the task, instead of needing to do this: +// tasks.named('jarJar', net.minecraftforge.jarjar.gradle.JarJar) +jarJar.register() { + archiveClassifier = null } -sourceSets.main.resources { srcDir 'src/generated/resources' } - repositories { - maven { url = "https://repo.spongepowered.org/maven" } + minecraft.mavenizer(it) + maven fg.forgeMaven + maven fg.minecraftLibsMaven + exclusiveContent { + forRepository { + maven { + name = 'Sponge' + url = 'https://repo.spongepowered.org/repository/maven-public' + } + } + filter { + includeGroupAndSubgroups('org.spongepowered') + } + } + mavenCentral() + mavenLocal() } dependencies { - implementation "net.neoforged:neoforge:21.1.216" + implementation minecraft.dependency("net.minecraftforge:forge:1.21.1-52.1.14") // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" @@ -143,13 +135,29 @@ dependencies { // for more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html -// annotationProcessor('org.spongepowered:mixin:0.8.3:processor') -// annotationProcessor('io.github.llamalad7:mixinextras-common:0.5.0') + compileOnly(annotationProcessor('io.github.llamalad7:mixinextras-common:0.5.0')) + implementation(jarJar('io.github.llamalad7:mixinextras-forge:0.5.0')) { + jarJar.configure(it) { + module { + group = 'io.github.llamalad7' + name = 'mixinextras' + } + range = "[0.5.0,)" + } + } //testImplementation ('junit:junit:4.13') testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.2' - minecraftLibrary(shade group: 'javax.vecmath', name: 'vecmath', version: '1.5.2') + implementation(jarJar(group: 'javax.vecmath', name: 'vecmath', version: '1.5.2')) { + jarJar.configure(it) { + module { + group = 'javax.vecmath' + name = 'vecmath' + } + version = "1.5.2" + } + } // implementation(shade group: 'at.yawk.lz4', name: 'lz4-java', version: '1.10.2') } @@ -167,31 +175,8 @@ dependencies { attributesSchema { attribute(mappingsAttribute) } - - //Iris - implementation "curse.maven:sodium-394468:6382651" - implementation "curse.maven:irisshaders-455508:6661598" - - //Lamb Dynamic Lights - compileOnly("dev.lambdaurora.lambdynamiclights:lambdynamiclights-api:4.8.7+1.21.1") { - attributes { - attribute(mappingsAttribute, "mojmap") - } - } - runtimeOnly "curse.maven:lambdynamiclights-393442:7306458" } -//mixin { -// add sourceSets.main, 'mixins.universalmodcore.refmap.json' -// -// config 'mixins.universalmodcore.json' -// -// //Dev environment setup -// debug.verbose = true -// debug.export = true -// dumpTargetOnFailure = true -//} - jar { archiveClassifier = 'slim' manifest { @@ -202,44 +187,21 @@ jar { "Implementation-Title": project.name, "Implementation-Version": umcVersion, "Implementation-Vendor" :"", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") + "MixinConfigs" : "universalmodcore.feat.mixins.json, universalmodcore.fix.mixins.json" ]) } } -//No need in Neoforge -//jar.finalizedBy('reobfJar') - -shadowJar { - archiveClassifier = '' - configurations = [project.configurations.shade] - relocate 'javax.vecmath', "${project.group}.shade.javax.vecmath" - //Don't do this -// relocate 'org.spongepowered', "${project.group}.shade.org.spongepowered" - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - mergeServiceFiles() -// finalizedBy 'reobfShadowJar' -} - -assemble.dependsOn shadowJar - -//reobf { -// shadowJar {} -//} - test { useJUnit() maxHeapSize = '1G' } publishing { - publications { - mavenJava(MavenPublication) { - artifact jar - artifact shadowJar - artifact sourcesJar - artifactId archivesBaseName - } + publications.register('mavenJava', MavenPublication) { + artifact tasks.named("jar") + artifact tasks.named("jarJar") + artifact tasks.named("sourcesJar") } repositories { maven { @@ -264,3 +226,19 @@ tasks.register('showBuildInfo') { } publish.finalizedBy showBuildInfo + +// IntelliJ no longer downloads javadocs and sources by default, this tells Gradle to force IntelliJ to do it. +idea.module { downloadJavadoc = downloadSources = true } + +eclipse { + // Eclipse no longer downloads javadocs and sources by default, this tells Gradle to force Eclipse to do it. + classpath { downloadJavadoc = downloadSources = true } + + // NOTE: ForgeGradle 7 does not yet support Eclipse run configurations + // Run everytime eclipse builds the code + //autoBuildTasks genEclipseRuns + // Run when importing the project + //synchronizationTasks 'genEclipseRuns' +} + +// NOTE: Merging of source sets is now controlled by the property 'net.minecraftforge.gradle.merge-source-sets' diff --git a/gradle.properties b/gradle.properties index 7d9694b67..b1828365f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,9 @@ -# Sets default memory used for gradle commands. Can be overridden by user or command line properties. -# This is required to provide enough memory for the Minecraft decompilation process. -org.gradle.jvmargs=-Xmx3G -# Forge why you so broken??? -org.gradle.daemon=false +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.configureondemand=true + +org.gradle.configuration-cache=true +org.gradle.configuration-cache.parallel=true +org.gradle.configuration-cache.problems=warn + +net.minecraftforge.gradle.merge-source-sets=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1132f38a5..b13bd40f4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip diff --git a/settings.gradle b/settings.gradle index e69de29bb..3e187fe5a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -0,0 +1,3 @@ +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} \ No newline at end of file diff --git a/src/main/java/cam72cam/mod/ModCore.java b/src/main/java/cam72cam/mod/ModCore.java index 5ccbdf1db..7811d18fd 100644 --- a/src/main/java/cam72cam/mod/ModCore.java +++ b/src/main/java/cam72cam/mod/ModCore.java @@ -16,21 +16,21 @@ import java.util.*; import net.minecraft.util.Unit; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.bus.api.IEventBus; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLLoadCompleteEvent; -import net.neoforged.fml.event.lifecycle.InterModEnqueueEvent; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLLoader; -import net.neoforged.fml.loading.FMLPaths; -import net.neoforged.neoforge.common.CreativeModeTabRegistry; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.data.loading.DatagenModLoader; -import net.neoforged.neoforge.event.RegisterCommandsEvent; -import net.neoforged.neoforge.event.server.ServerStartedEvent; -import net.neoforged.neoforge.event.server.ServerStartingEvent; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent; +import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.fml.loading.FMLLoader; +import net.minecraftforge.fml.loading.FMLPaths; +import net.minecraftforge.common.CreativeModeTabRegistry; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.data.loading.DatagenModLoader; +import net.minecraftforge.event.RegisterCommandsEvent; +import net.minecraftforge.event.server.ServerStartedEvent; +import net.minecraftforge.event.server.ServerStartingEvent; import net.minecraft.resources.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -58,7 +58,7 @@ import java.io.IOException; /** UMC Mod, do not touch... */ -@net.neoforged.fml.common.Mod(ModCore.MODID) +@net.minecraftforge.fml.common.Mod(ModCore.MODID) public class ModCore { public static final String MODID = "universalmodcore"; public static final String NAME = "UniversalModCore"; @@ -92,7 +92,7 @@ public ModCore(IEventBus modEventBus, Dist dist) { //FMLJavaModLoadingContext.get().getModEventBus().addListener(this::serverStarted); CommonEvents.Item.CREATIVE_TAB.register(modEventBus); - NeoForge.EVENT_BUS.register(this); + MinecraftForge.EVENT_BUS.register(this); } /** INIT Phase (Forge) */ diff --git a/src/main/java/cam72cam/mod/block/BlockType.java b/src/main/java/cam72cam/mod/block/BlockType.java index cd464d430..e3e4f4828 100644 --- a/src/main/java/cam72cam/mod/block/BlockType.java +++ b/src/main/java/cam72cam/mod/block/BlockType.java @@ -33,7 +33,6 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.neoforged.neoforge.capabilities.Capabilities; import javax.annotation.Nullable; diff --git a/src/main/java/cam72cam/mod/block/tile/TileEntity.java b/src/main/java/cam72cam/mod/block/tile/TileEntity.java index 950f9633f..5356b8674 100644 --- a/src/main/java/cam72cam/mod/block/tile/TileEntity.java +++ b/src/main/java/cam72cam/mod/block/tile/TileEntity.java @@ -37,14 +37,13 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.neoforged.neoforge.capabilities.BlockCapability; -import net.neoforged.neoforge.client.model.data.ModelData; -import net.neoforged.neoforge.client.model.data.ModelProperty; -import net.neoforged.neoforge.energy.IEnergyStorage; -import net.neoforged.neoforge.fluids.FluidStack; -import net.neoforged.neoforge.fluids.capability.IFluidHandler; -import net.neoforged.neoforge.items.IItemHandler; -import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.minecraftforge.client.model.data.ModelData; +import net.minecraftforge.client.model.data.ModelProperty; +import net.minecraftforge.energy.IEnergyStorage; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.IItemHandlerModifiable; import javax.annotation.Nonnull; import javax.annotation.Nullable; diff --git a/src/main/java/cam72cam/mod/config/ConfigFile.java b/src/main/java/cam72cam/mod/config/ConfigFile.java index 8471bd14b..ff1f8199c 100644 --- a/src/main/java/cam72cam/mod/config/ConfigFile.java +++ b/src/main/java/cam72cam/mod/config/ConfigFile.java @@ -1,7 +1,7 @@ package cam72cam.mod.config; import cam72cam.mod.ModCore; -import net.neoforged.fml.loading.FMLPaths; +import net.minecraftforge.fml.loading.FMLPaths; import org.apache.commons.lang3.StringUtils; import java.lang.annotation.Annotation; diff --git a/src/main/java/cam72cam/mod/energy/IEnergy.java b/src/main/java/cam72cam/mod/energy/IEnergy.java index ece965c44..c65e476fb 100644 --- a/src/main/java/cam72cam/mod/energy/IEnergy.java +++ b/src/main/java/cam72cam/mod/energy/IEnergy.java @@ -1,6 +1,6 @@ package cam72cam.mod.energy; -import net.neoforged.neoforge.energy.IEnergyStorage; +import net.minecraftforge.energy.IEnergyStorage; public interface IEnergy { static IEnergy from(IEnergyStorage internal) { diff --git a/src/main/java/cam72cam/mod/entity/Entity.java b/src/main/java/cam72cam/mod/entity/Entity.java index f61eade67..a9273bbed 100644 --- a/src/main/java/cam72cam/mod/entity/Entity.java +++ b/src/main/java/cam72cam/mod/entity/Entity.java @@ -9,7 +9,7 @@ import net.minecraft.world.entity.npc.AbstractVillager; import net.minecraft.world.level.Explosion; import net.minecraft.world.phys.AABB; -import net.neoforged.neoforge.event.EventHooks; +import net.minecraftforge.event.ForgeEventFactory; import java.util.List; import java.util.UUID; @@ -247,7 +247,7 @@ public void directDamage(DamageType type, double damage) { protected void createExplosion(Vec3d pos, float size, boolean damageTerrain) { Explosion explosion = new Explosion(getWorld().internal, this.internal, pos.x, pos.y, pos.z, size, false, damageTerrain ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP); - if (EventHooks.onExplosionStart(getWorld().internal, explosion)) return; + if (ForgeEventFactory.onExplosionStart(getWorld().internal, explosion)) return; explosion.explode(); explosion.finalizeExplosion(true); } diff --git a/src/main/java/cam72cam/mod/entity/EntityRegistry.java b/src/main/java/cam72cam/mod/entity/EntityRegistry.java index 322a1fca9..153915efc 100644 --- a/src/main/java/cam72cam/mod/entity/EntityRegistry.java +++ b/src/main/java/cam72cam/mod/entity/EntityRegistry.java @@ -16,8 +16,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import org.apache.commons.lang3.tuple.Pair; import java.util.HashMap; diff --git a/src/main/java/cam72cam/mod/entity/ModdedEntity.java b/src/main/java/cam72cam/mod/entity/ModdedEntity.java index c30b280b4..a3f62412b 100644 --- a/src/main/java/cam72cam/mod/entity/ModdedEntity.java +++ b/src/main/java/cam72cam/mod/entity/ModdedEntity.java @@ -12,6 +12,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import it.unimi.dsi.fastutil.objects.ObjectArraySet; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceLocation; @@ -24,9 +25,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.neoforge.entity.IEntityWithComplexSpawn; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.entity.IEntityAdditionalSpawnData; import org.apache.commons.lang3.tuple.Pair; import java.util.*; @@ -34,7 +35,7 @@ import java.util.stream.Collectors; /** Internal class which extends MC's Entity. Do not use directly */ -public class ModdedEntity extends Entity implements IEntityWithComplexSpawn { +public class ModdedEntity extends Entity implements IEntityAdditionalSpawnData { // Reference to the entity that this is representing private CustomEntity self; @@ -192,7 +193,7 @@ private void save(TagCompound data) { /** @see #load */ @Override - public final void readSpawnData(RegistryFriendlyByteBuf additionalData) { + public final void readSpawnData(FriendlyByteBuf additionalData) { TagCompound data = new TagCompound(additionalData.readNbt()); if (cam72cam.mod.world.World.get(level()) == null) { // This can happen during a sudden disconnect... @@ -207,7 +208,7 @@ public final void readSpawnData(RegistryFriendlyByteBuf additionalData) { } @Override - public final void writeSpawnData(RegistryFriendlyByteBuf buffer) { + public final void writeSpawnData(FriendlyByteBuf buffer) { TagCompound data = new TagCompound(); data.set("sync", self.sync); save(data); diff --git a/src/main/java/cam72cam/mod/entity/Player.java b/src/main/java/cam72cam/mod/entity/Player.java index 41f7aec13..72ca3a8bd 100644 --- a/src/main/java/cam72cam/mod/entity/Player.java +++ b/src/main/java/cam72cam/mod/entity/Player.java @@ -12,9 +12,9 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.phys.BlockHitResult; -import net.neoforged.neoforge.server.permission.PermissionAPI; -import net.neoforged.neoforge.server.permission.nodes.PermissionNode; -import net.neoforged.neoforge.server.permission.nodes.PermissionTypes; +import net.minecraftforge.server.permission.PermissionAPI; +import net.minecraftforge.server.permission.nodes.PermissionNode; +import net.minecraftforge.server.permission.nodes.PermissionTypes; import static net.minecraft.world.InteractionHand.MAIN_HAND; import static net.minecraft.world.InteractionHand.OFF_HAND; diff --git a/src/main/java/cam72cam/mod/entity/SeatEntity.java b/src/main/java/cam72cam/mod/entity/SeatEntity.java index 1ded1c631..bf65a6e73 100644 --- a/src/main/java/cam72cam/mod/entity/SeatEntity.java +++ b/src/main/java/cam72cam/mod/entity/SeatEntity.java @@ -6,6 +6,7 @@ import cam72cam.mod.serialization.TagCompound; import cam72cam.mod.world.World; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.syncher.SynchedEntityData; @@ -16,14 +17,14 @@ import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.neoforge.entity.IEntityWithComplexSpawn; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.entity.IEntityAdditionalSpawnData; import java.util.List; import java.util.UUID; /** Seat construct to make multiple riders actually work */ -public class SeatEntity extends Entity implements IEntityWithComplexSpawn { +public class SeatEntity extends Entity implements IEntityAdditionalSpawnData { static final ResourceLocation ID = ResourceLocation.tryBuild(ModCore.MODID, "seat"); public static final EntityType TYPE = makeType(); @@ -213,7 +214,7 @@ public cam72cam.mod.entity.Entity getEntityPassenger() { } @Override - public void writeSpawnData(RegistryFriendlyByteBuf buffer) { + public void writeSpawnData(FriendlyByteBuf buffer) { TagCompound data = new TagCompound(); data.setUUID("parent", parent); data.setUUID("passenger", passenger); @@ -221,7 +222,7 @@ public void writeSpawnData(RegistryFriendlyByteBuf buffer) { } @Override - public void readSpawnData(RegistryFriendlyByteBuf additionalData) { + public void readSpawnData(FriendlyByteBuf additionalData) { TagCompound data = new TagCompound(additionalData.readNbt()); parent = data.getUUID("parent"); passenger = data.getUUID("passenger"); diff --git a/src/main/java/cam72cam/mod/event/ClientEvents.java b/src/main/java/cam72cam/mod/event/ClientEvents.java index 1d86d881b..8b36b94a5 100644 --- a/src/main/java/cam72cam/mod/event/ClientEvents.java +++ b/src/main/java/cam72cam/mod/event/ClientEvents.java @@ -17,13 +17,11 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.RenderType; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.bus.api.ICancellableEvent; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.neoforge.client.event.*; -import net.neoforged.neoforge.client.event.sound.SoundEngineLoadEvent; -import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.client.event.*; +import net.minecraftforge.client.event.sound.SoundEngineLoadEvent; import java.util.function.Consumer; import java.util.function.Function; @@ -128,7 +126,7 @@ private static void onGuiMouse(ScreenEvent event, int x, int y, int btn, MouseAc MouseGuiEvent mevt = new MouseGuiEvent(action, x, y, btn, action == MouseAction.SCROLL ? (int) ((ScreenEvent.MouseScrolled) event).getScrollDeltaY() : 0); if (!MOUSE_GUI.executeCancellable(h -> h.apply(mevt))) { - ((ICancellableEvent)event).setCanceled(true); + event.setCanceled(true); if (action != MouseAction.SCROLL) { // Apparently cancelling this input event only cancels it for the *GUI* handlers, not all input handlers // Therefore we need to track that ourselves. Thanks for changing that from 1.12.2-forge diff --git a/src/main/java/cam72cam/mod/event/CommonEvents.java b/src/main/java/cam72cam/mod/event/CommonEvents.java index 9ec451205..5f25b832c 100644 --- a/src/main/java/cam72cam/mod/event/CommonEvents.java +++ b/src/main/java/cam72cam/mod/event/CommonEvents.java @@ -18,21 +18,19 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.chunk.ChunkAccess; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; -import net.neoforged.neoforge.event.entity.EntityEvent; -import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; -import net.neoforged.neoforge.event.level.BlockEvent; -import net.neoforged.neoforge.event.level.ChunkEvent; -import net.neoforged.neoforge.event.level.LevelEvent; -import net.neoforged.neoforge.event.tick.LevelTickEvent; -import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; -import net.neoforged.neoforge.network.registration.PayloadRegistrar; -import net.neoforged.neoforge.registries.DeferredRegister; -import net.neoforged.neoforge.registries.RegisterEvent; -import net.neoforged.neoforge.registries.RegisterEvent.RegisterHelper; -import net.neoforged.neoforge.server.permission.events.PermissionGatherEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent; +import net.minecraftforge.event.entity.EntityEvent; +import net.minecraftforge.event.entity.EntityJoinLevelEvent; +import net.minecraftforge.event.level.BlockEvent; +import net.minecraftforge.event.level.ChunkEvent; +import net.minecraftforge.event.level.LevelEvent; +import net.minecraftforge.event.TickEvent.LevelTickEvent; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.RegisterEvent; +import net.minecraftforge.registries.RegisterEvent.RegisterHelper; +import net.minecraftforge.server.permission.events.PermissionGatherEvent; import java.util.function.Consumer; diff --git a/src/main/java/cam72cam/mod/event/platform/LoadDatapackEvent.java b/src/main/java/cam72cam/mod/event/platform/LoadDatapackEvent.java index 01f659b66..163056af3 100644 --- a/src/main/java/cam72cam/mod/event/platform/LoadDatapackEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/LoadDatapackEvent.java @@ -9,8 +9,8 @@ import net.minecraft.server.packs.repository.PackRepository; import net.minecraft.server.packs.repository.PackSource; import net.minecraft.world.flag.FeatureFlagSet; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.List; import java.util.Optional; diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterAdvancementEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterAdvancementEvent.java index f6fe9e0cf..7200429f6 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterAdvancementEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterAdvancementEvent.java @@ -5,8 +5,8 @@ import net.minecraft.advancements.*; import net.minecraft.advancements.critereon.*; import net.minecraft.resources.ResourceLocation; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterBlockTagEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterBlockTagEvent.java index 2fc8bc31a..586271e1f 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterBlockTagEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterBlockTagEvent.java @@ -6,8 +6,8 @@ import net.minecraft.tags.TagKey; import net.minecraft.tags.TagLoader; import net.minecraft.world.level.block.Block; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterDamageTypeEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterDamageTypeEvent.java index 64183458d..05b711b5f 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterDamageTypeEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterDamageTypeEvent.java @@ -2,8 +2,8 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.Map; diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterItemTagEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterItemTagEvent.java index dec256b10..ca6823e5b 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterItemTagEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterItemTagEvent.java @@ -7,8 +7,8 @@ import net.minecraft.tags.TagKey; import net.minecraft.tags.TagLoader; import net.minecraft.world.item.Item; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterRecipeEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterRecipeEvent.java index 251aa3af4..9bffd17d9 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterRecipeEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterRecipeEvent.java @@ -8,8 +8,8 @@ import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.ShapedRecipe; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; /** * Fired when recipe datapacks are reloaded diff --git a/src/main/java/cam72cam/mod/event/platform/RegisterTextureSpriteEvent.java b/src/main/java/cam72cam/mod/event/platform/RegisterTextureSpriteEvent.java index 3bc55d193..e1ab01303 100644 --- a/src/main/java/cam72cam/mod/event/platform/RegisterTextureSpriteEvent.java +++ b/src/main/java/cam72cam/mod/event/platform/RegisterTextureSpriteEvent.java @@ -3,8 +3,8 @@ import net.minecraft.client.renderer.texture.atlas.SpriteSource; import net.minecraft.client.renderer.texture.atlas.sources.SingleFile; import net.minecraft.resources.ResourceLocation; -import net.neoforged.bus.api.Event; -import net.neoforged.fml.event.IModBusEvent; +import net.minecraftforge.eventbus.api.Event; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.List; import java.util.Optional; diff --git a/src/main/java/cam72cam/mod/fluid/FluidStack.java b/src/main/java/cam72cam/mod/fluid/FluidStack.java index b150056e0..f3c3045e4 100644 --- a/src/main/java/cam72cam/mod/fluid/FluidStack.java +++ b/src/main/java/cam72cam/mod/fluid/FluidStack.java @@ -2,15 +2,15 @@ /** Wrapper around forge FluidStack */ public class FluidStack { - public final net.neoforged.neoforge.fluids.FluidStack internal; + public final net.minecraftforge.fluids.FluidStack internal; /** Wrapper, don't use directly */ - public FluidStack(net.neoforged.neoforge.fluids.FluidStack stack) { + public FluidStack(net.minecraftforge.fluids.FluidStack stack) { this.internal = stack; } public FluidStack(Fluid fluid, int amount) { - this.internal = fluid != null && fluid.internal != null ? new net.neoforged.neoforge.fluids.FluidStack(fluid.internal.get(0), amount) : null; + this.internal = fluid != null && fluid.internal != null ? new net.minecraftforge.fluids.FluidStack(fluid.internal.get(0), amount) : null; } public Fluid getFluid() { diff --git a/src/main/java/cam72cam/mod/fluid/FluidTank.java b/src/main/java/cam72cam/mod/fluid/FluidTank.java index 8b1a6f8d4..e4e10e80a 100644 --- a/src/main/java/cam72cam/mod/fluid/FluidTank.java +++ b/src/main/java/cam72cam/mod/fluid/FluidTank.java @@ -5,7 +5,7 @@ import cam72cam.mod.serialization.TagMapped; import cam72cam.mod.serialization.TagMapper; import cam72cam.mod.util.RegistryUtil; -import net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; import java.util.HashSet; import java.util.List; @@ -15,7 +15,7 @@ @TagMapped(FluidTank.Mapper.class) public class FluidTank implements ITank { // TODO clean up capacity crap. Probably just want to implement my own fluid handler from scratch TBH - public final net.neoforged.neoforge.fluids.capability.templates.FluidTank internal; + public final net.minecraftforge.fluids.capability.templates.FluidTank internal; private Supplier> filter; private final Set onChange = new HashSet<>(); @@ -26,7 +26,7 @@ private FluidTank() { } public FluidTank(FluidStack fluidStack, int capacity) { - internal = new net.neoforged.neoforge.fluids.capability.templates.FluidTank(capacity) { + internal = new net.minecraftforge.fluids.capability.templates.FluidTank(capacity) { public void onContentsChanged() { FluidTank.this.onChange(); } @@ -73,7 +73,7 @@ public void setFilter(Supplier> filter) { @Override public boolean allows(Fluid fluid) { return (filter == null || filter.get() == null || filter.get().contains(fluid)) && - fluid.internal.stream().anyMatch(f -> internal.isFluidValid(new net.neoforged.neoforge.fluids.FluidStack(f, 1))); + fluid.internal.stream().anyMatch(f -> internal.isFluidValid(new net.minecraftforge.fluids.FluidStack(f, 1))); } @Override @@ -87,7 +87,7 @@ public int fill(FluidStack fluidStack, boolean simulate) { @Override public FluidStack drain(FluidStack fluidStack, boolean simulate) { if (!allows(fluidStack.getFluid())) { - return new FluidStack(net.neoforged.neoforge.fluids.FluidStack.EMPTY); + return new FluidStack(net.minecraftforge.fluids.FluidStack.EMPTY); } return new FluidStack(internal.drain(fluidStack.internal, simulate ? FluidAction.SIMULATE : FluidAction.EXECUTE)); } diff --git a/src/main/java/cam72cam/mod/fluid/ITank.java b/src/main/java/cam72cam/mod/fluid/ITank.java index af2d98550..c2bb499a6 100644 --- a/src/main/java/cam72cam/mod/fluid/ITank.java +++ b/src/main/java/cam72cam/mod/fluid/ITank.java @@ -2,9 +2,9 @@ import cam72cam.mod.ModCore; import cam72cam.mod.item.ItemStack; -import net.neoforged.neoforge.fluids.FluidUtil; -import net.neoforged.neoforge.fluids.capability.IFluidHandler; -import net.neoforged.neoforge.fluids.capability.IFluidHandlerItem; +import net.minecraftforge.fluids.FluidUtil; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandlerItem; import java.util.List; import java.util.Optional; @@ -39,7 +39,7 @@ public int getCapacity() { @Override public boolean allows(Fluid fluid) { - return fluid.internal.stream().anyMatch(f -> internal.isFluidValid(0, new net.neoforged.neoforge.fluids.FluidStack(f, 1))); + return fluid.internal.stream().anyMatch(f -> internal.isFluidValid(0, new net.minecraftforge.fluids.FluidStack(f, 1))); } @Override @@ -77,7 +77,7 @@ public int getCapacity() { @Override public boolean allows(Fluid fluid) { - return fluid.internal.stream().anyMatch(f -> internal.isFluidValid(i, new net.neoforged.neoforge.fluids.FluidStack(f, 1))); + return fluid.internal.stream().anyMatch(f -> internal.isFluidValid(i, new net.minecraftforge.fluids.FluidStack(f, 1))); } @Override diff --git a/src/main/java/cam72cam/mod/gui/GuiRegistry.java b/src/main/java/cam72cam/mod/gui/GuiRegistry.java index f3b2f78bb..ec8b5d830 100644 --- a/src/main/java/cam72cam/mod/gui/GuiRegistry.java +++ b/src/main/java/cam72cam/mod/gui/GuiRegistry.java @@ -23,10 +23,10 @@ import net.minecraft.world.flag.FeatureFlagSet; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.neoforge.network.IContainerFactory; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.network.IContainerFactory; import javax.annotation.Nullable; import java.util.HashMap; diff --git a/src/main/java/cam72cam/mod/gui/Progress.java b/src/main/java/cam72cam/mod/gui/Progress.java index eee6d1f71..57d280b74 100644 --- a/src/main/java/cam72cam/mod/gui/Progress.java +++ b/src/main/java/cam72cam/mod/gui/Progress.java @@ -1,7 +1,7 @@ package cam72cam.mod.gui; import cam72cam.mod.ModCore; -import net.neoforged.fml.loading.progress.StartupNotificationManager; +import net.minecraftforge.fml.loading.progress.StartupNotificationManager; /** Wrapper around game loading bar, only functional on certain MC versions / loaders */ public class Progress { diff --git a/src/main/java/cam72cam/mod/gui/container/ServerContainerBuilder.java b/src/main/java/cam72cam/mod/gui/container/ServerContainerBuilder.java index 0c1876616..112548dbc 100644 --- a/src/main/java/cam72cam/mod/gui/container/ServerContainerBuilder.java +++ b/src/main/java/cam72cam/mod/gui/container/ServerContainerBuilder.java @@ -9,7 +9,7 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.Slot; -import net.neoforged.neoforge.items.SlotItemHandler; +import net.minecraftforge.items.SlotItemHandler; import java.util.function.Consumer; import java.util.function.Supplier; diff --git a/src/main/java/cam72cam/mod/gui/helpers/GUIHelpers.java b/src/main/java/cam72cam/mod/gui/helpers/GUIHelpers.java index 9c430df4e..cf966b658 100644 --- a/src/main/java/cam72cam/mod/gui/helpers/GUIHelpers.java +++ b/src/main/java/cam72cam/mod/gui/helpers/GUIHelpers.java @@ -28,7 +28,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.inventory.InventoryMenu; -import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; +import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions; import org.joml.Matrix4f; import org.lwjgl.opengl.GL32; import util.Matrix4; diff --git a/src/main/java/cam72cam/mod/gui/helpers/GuiScrollBar.java b/src/main/java/cam72cam/mod/gui/helpers/GuiScrollBar.java index 161d224eb..c5a1e8629 100644 --- a/src/main/java/cam72cam/mod/gui/helpers/GuiScrollBar.java +++ b/src/main/java/cam72cam/mod/gui/helpers/GuiScrollBar.java @@ -2,13 +2,13 @@ import net.minecraft.client.gui.components.AbstractSliderButton; import net.minecraft.network.chat.Component; -import net.neoforged.neoforge.client.gui.widget.ExtendedSlider; +import net.minecraftforge.client.gui.widget.ForgeSlider; import java.util.function.Consumer; /** Internal scrollbar class */ -class GuiScrollBar extends ExtendedSlider { +class GuiScrollBar extends ForgeSlider { private final Consumer onPress; public GuiScrollBar(int id, int xPos, int yPos, int width, int height, String displayStr, diff --git a/src/main/java/cam72cam/mod/gui/screen/ScreenBuilder.java b/src/main/java/cam72cam/mod/gui/screen/ScreenBuilder.java index ab57d3a97..18efbd16b 100644 --- a/src/main/java/cam72cam/mod/gui/screen/ScreenBuilder.java +++ b/src/main/java/cam72cam/mod/gui/screen/ScreenBuilder.java @@ -11,7 +11,7 @@ import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; -import net.neoforged.neoforge.client.gui.widget.ExtendedSlider; +import net.minecraftforge.client.gui.widget.ForgeSlider; import java.util.*; import java.util.function.Supplier; @@ -23,7 +23,7 @@ public class ScreenBuilder extends Screen implements IScreenBuilder { private TextField active = null; private final Supplier valid; private GuiGraphics graphics; - private ExtendedSlider dragging; + private ForgeSlider dragging; public ScreenBuilder(IScreen screen, Supplier valid) { super(Component.literal("")); @@ -167,7 +167,7 @@ public boolean mouseClicked(double x, double y, int button) { for (AbstractWidget btn : this.buttonMap.keySet()) { if (btn.mouseClicked(x, y, button)) { - if (btn instanceof ExtendedSlider slider) { + if (btn instanceof ForgeSlider slider) { dragging = slider; } return true; diff --git a/src/main/java/cam72cam/mod/gui/screen/Slider.java b/src/main/java/cam72cam/mod/gui/screen/Slider.java index 6dfb9a50f..8a57a91fc 100644 --- a/src/main/java/cam72cam/mod/gui/screen/Slider.java +++ b/src/main/java/cam72cam/mod/gui/screen/Slider.java @@ -2,7 +2,7 @@ import cam72cam.mod.entity.Player; import net.minecraft.network.chat.Component; -import net.neoforged.neoforge.client.gui.widget.ExtendedSlider; +import net.minecraftforge.client.gui.widget.ForgeSlider; import java.util.function.Supplier; import java.util.function.Consumer; @@ -10,7 +10,7 @@ /** Standard slider */ public class Slider extends Button { /** Internal wrapper to add onSlider Hook */ - private static class InternalForgeSlider extends ExtendedSlider { + private static class InternalForgeSlider extends ForgeSlider { private Runnable clicker = () -> {}; private Supplier setter = () -> ""; @@ -69,11 +69,11 @@ public void setValue(double value) { } public int getValueInt() { - return ((ExtendedSlider) button).getValueInt(); + return ((ForgeSlider) button).getValueInt(); } public double getValue() { - return ((ExtendedSlider) button).getValue(); + return ((ForgeSlider) button).getValue(); } @Override diff --git a/src/main/java/cam72cam/mod/input/Keyboard.java b/src/main/java/cam72cam/mod/input/Keyboard.java index cfbd2957b..db70922d4 100644 --- a/src/main/java/cam72cam/mod/input/Keyboard.java +++ b/src/main/java/cam72cam/mod/input/Keyboard.java @@ -5,9 +5,9 @@ import net.minecraft.client.KeyMapping; import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap; import net.minecraft.client.Minecraft; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.neoforge.client.settings.KeyConflictContext; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.client.settings.KeyConflictContext; import org.lwjgl.glfw.GLFW; import javax.annotation.Nullable; diff --git a/src/main/java/cam72cam/mod/input/Mouse.java b/src/main/java/cam72cam/mod/input/Mouse.java index 608702601..affadaf48 100644 --- a/src/main/java/cam72cam/mod/input/Mouse.java +++ b/src/main/java/cam72cam/mod/input/Mouse.java @@ -11,8 +11,8 @@ import cam72cam.mod.net.Packet; import cam72cam.mod.serialization.TagField; import net.minecraft.client.Minecraft; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import java.util.function.Function; diff --git a/src/main/java/cam72cam/mod/item/CreativeTab.java b/src/main/java/cam72cam/mod/item/CreativeTab.java index a173af9d2..20a5b194c 100644 --- a/src/main/java/cam72cam/mod/item/CreativeTab.java +++ b/src/main/java/cam72cam/mod/item/CreativeTab.java @@ -6,7 +6,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; -import net.neoforged.neoforge.registries.DeferredHolder; +import net.minecraftforge.registries.RegistryObject; import java.util.ArrayList; import java.util.List; @@ -25,7 +25,7 @@ public class CreativeTab { /** */ public CreativeTab(String label, Supplier stack) { ResourceKey key = lastTab; - DeferredHolder register = CommonEvents.Item.CREATIVE_TAB.register(label, () -> { + RegistryObject register = CommonEvents.Item.CREATIVE_TAB.register(label, () -> { CreativeModeTab.Builder builder = CreativeModeTab.builder(); builder.title(Component.translatable("itemGroup." + label)); builder.icon(() -> stack.get().internal()); diff --git a/src/main/java/cam72cam/mod/item/CustomItem.java b/src/main/java/cam72cam/mod/item/CustomItem.java index 25d2e3781..4f899326f 100644 --- a/src/main/java/cam72cam/mod/item/CustomItem.java +++ b/src/main/java/cam72cam/mod/item/CustomItem.java @@ -23,9 +23,9 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.client.extensions.common.IClientItemExtensions; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/cam72cam/mod/item/Fuzzy.java b/src/main/java/cam72cam/mod/item/Fuzzy.java index 91486b7be..2617d7498 100644 --- a/src/main/java/cam72cam/mod/item/Fuzzy.java +++ b/src/main/java/cam72cam/mod/item/Fuzzy.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; -import net.neoforged.neoforge.common.Tags; +import net.minecraftforge.common.Tags; import java.nio.charset.StandardCharsets; import java.util.*; @@ -30,7 +30,7 @@ public class Fuzzy { public static final Fuzzy STONE_SLAB = new Fuzzy("slabStone").add(Items.STONE_SLAB); public static final Fuzzy STONE_BRICK = new Fuzzy(ItemTags.STONE_BRICKS, "brickStone").add(Blocks.STONE_BRICKS); - public static final Fuzzy SAND = new Fuzzy(Tags.Items.SANDS, "sand").add(Blocks.SAND); + public static final Fuzzy SAND = new Fuzzy(Tags.Items.SAND, "sand").add(Blocks.SAND); public static final Fuzzy PISTON = new Fuzzy("piston").add(Items.PISTON); public static final Fuzzy GOLD_INGOT = new Fuzzy(Tags.Items.INGOTS_GOLD, "ingotGold").add(Items.GOLD_INGOT); @@ -41,7 +41,7 @@ public class Fuzzy { public static final Fuzzy IRON_BARS = new Fuzzy("barsIron").add(Blocks.IRON_BARS); public static final Fuzzy NETHER_BRICK = new Fuzzy("brickNether").add(Blocks.NETHER_BRICKS); - public static final Fuzzy GRAVEL_BLOCK = new Fuzzy(Tags.Items.GRAVELS, "gravel").add(Blocks.GRAVEL); + public static final Fuzzy GRAVEL_BLOCK = new Fuzzy(Tags.Items.GRAVEL, "gravel").add(Blocks.GRAVEL); public static final Fuzzy BRICK_BLOCK = new Fuzzy("brickBlock").add(Blocks.BRICKS); public static final Fuzzy COBBLESTONE = new Fuzzy(Tags.Items.COBBLESTONES, "cobblestone").add(Blocks.COBBLESTONE); public static final Fuzzy CONCRETE = new Fuzzy("concrete") diff --git a/src/main/java/cam72cam/mod/item/IInventory.java b/src/main/java/cam72cam/mod/item/IInventory.java index 0faf4a944..9842022a3 100644 --- a/src/main/java/cam72cam/mod/item/IInventory.java +++ b/src/main/java/cam72cam/mod/item/IInventory.java @@ -1,7 +1,7 @@ package cam72cam.mod.item; import net.minecraft.world.entity.player.Inventory; -import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.minecraftforge.items.IItemHandlerModifiable; public interface IInventory { /** Wraps MC construct. Do not use */ diff --git a/src/main/java/cam72cam/mod/item/ItemStack.java b/src/main/java/cam72cam/mod/item/ItemStack.java index cc0e8bd08..3e1680b60 100644 --- a/src/main/java/cam72cam/mod/item/ItemStack.java +++ b/src/main/java/cam72cam/mod/item/ItemStack.java @@ -10,7 +10,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.component.CustomData; import net.minecraft.world.item.crafting.RecipeType; -import net.neoforged.neoforge.fluids.FluidUtil; +import net.minecraftforge.fluids.FluidUtil; import java.util.function.Supplier; diff --git a/src/main/java/cam72cam/mod/item/ItemStackHandler.java b/src/main/java/cam72cam/mod/item/ItemStackHandler.java index 5e3e8c225..a2a7a11db 100644 --- a/src/main/java/cam72cam/mod/item/ItemStackHandler.java +++ b/src/main/java/cam72cam/mod/item/ItemStackHandler.java @@ -19,14 +19,14 @@ /** Standard IInventory implementation */ @TagMapped(ItemStackHandler.TagMapper.class) public class ItemStackHandler implements IInventory { - public final net.neoforged.neoforge.items.ItemStackHandler internal; + public final net.minecraftforge.items.ItemStackHandler internal; protected BiPredicate checkSlot = (integer, itemStack) -> true; private final List> onChanged = new ArrayList<>(); private Function slotLimit = null; public ItemStackHandler(int size) { - this.internal = new net.neoforged.neoforge.items.ItemStackHandler(size) { + this.internal = new net.minecraftforge.items.ItemStackHandler(size) { @Override public void setStackInSlot(int slot, @Nonnull net.minecraft.world.item.ItemStack stack) { if (checkSlot.test(slot, new ItemStack(stack))) { diff --git a/src/main/java/cam72cam/mod/item/ToolType.java b/src/main/java/cam72cam/mod/item/ToolType.java index 6de94987e..d27d85aa1 100644 --- a/src/main/java/cam72cam/mod/item/ToolType.java +++ b/src/main/java/cam72cam/mod/item/ToolType.java @@ -1,17 +1,17 @@ package cam72cam.mod.item; -import net.neoforged.neoforge.common.ItemAbilities; -import net.neoforged.neoforge.common.ItemAbility; +import net.minecraftforge.common.ToolActions; +import net.minecraftforge.common.ToolAction; /** What class a tool fits into */ public enum ToolType { - PICKAXE(ItemAbilities.PICKAXE_DIG), - AXE(ItemAbilities.AXE_DIG), - SHOVEL(ItemAbilities.SHOVEL_DIG), + PICKAXE(ToolActions.PICKAXE_DIG), + AXE(ToolActions.AXE_DIG), + SHOVEL(ToolActions.SHOVEL_DIG), ; - public final net.neoforged.neoforge.common.ItemAbility internal; + public final ToolAction internal; - ToolType(ItemAbility internal) { + ToolType(ToolAction internal) { this.internal = internal; } diff --git a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinAdvancement.java b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinAdvancement.java index 1d57cd79e..7f9328a4e 100644 --- a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinAdvancement.java +++ b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinAdvancement.java @@ -9,7 +9,7 @@ import net.minecraft.server.ServerAdvancementManager; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.util.profiling.ProfilerFiller; -import net.neoforged.fml.ModLoader; +import net.minecraftforge.fml.ModLoader; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -28,6 +28,6 @@ public class MixinAdvancement { public void postAdvancementReload(Map p_136034_, ResourceManager p_136035_, ProfilerFiller p_136036_, CallbackInfo ci, @Local ImmutableMap.Builder map) { RegisterAdvancementEvent event = new RegisterAdvancementEvent(map); - ModLoader.postEvent(event); + ModLoader.get().postEvent(event); } } diff --git a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinMinecraftServer.java b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinMinecraftServer.java index bacf4c899..7e45fa444 100644 --- a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinMinecraftServer.java +++ b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinMinecraftServer.java @@ -4,7 +4,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.packs.repository.PackRepository; import net.minecraft.world.level.WorldDataConfiguration; -import net.neoforged.fml.ModLoader; +import net.minecraftforge.fml.ModLoader; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -18,6 +18,6 @@ public class MixinMinecraftServer { @Inject(method = "configurePackRepository", at = @At("HEAD")) private static void callback(PackRepository repo, WorldDataConfiguration config, boolean forceModData, boolean flags, CallbackInfoReturnable cir) { LoadDatapackEvent event = new LoadDatapackEvent(repo); - ModLoader.postEvent(event); + ModLoader.get().postEvent(event); } } diff --git a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinRecipeManager.java b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinRecipeManager.java index 2f97adef7..85e1371d0 100644 --- a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinRecipeManager.java +++ b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinRecipeManager.java @@ -15,7 +15,7 @@ import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeType; -import net.neoforged.fml.ModLoader; +import net.minecraftforge.fml.ModLoader; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -41,7 +41,7 @@ public void captureBuilder(Map p_44037_, Resource @Local RegistryOps ops) { RegistryUtil.recipeBuildingContext(this.makeConditionalOps().context); RegisterRecipeEvent event = new RegisterRecipeEvent(builder, builder1); - ModLoader.postEvent(event); + ModLoader.get().postEvent(event); RegistryUtil.recipeBuildingContext(null); } } diff --git a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinSpriteResourceLoader.java b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinSpriteResourceLoader.java index 2e92a7dc7..f4b9128c5 100644 --- a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinSpriteResourceLoader.java +++ b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinSpriteResourceLoader.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.texture.atlas.SpriteSourceList; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraftforge.fml.ModLoader; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -25,7 +26,7 @@ private static void inject(ResourceManager manager, ResourceLocation p_261709_, if(p_261709_.getPath().equals("blocks")) { //Only hack into main sprite RegisterTextureSpriteEvent event = new RegisterTextureSpriteEvent(list); - net.neoforged.fml.ModLoader.postEvent(event); + ModLoader.get().postEvent(event); } } } diff --git a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinTagCollection.java b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinTagCollection.java index 752b09280..01d6df04a 100644 --- a/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinTagCollection.java +++ b/src/main/java/cam72cam/mod/mixin/feat/data_registry/MixinTagCollection.java @@ -7,7 +7,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.tags.TagLoader; -import net.neoforged.fml.ModLoader; +import net.minecraftforge.fml.ModLoader; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -33,11 +33,11 @@ public Map> onRegisterTag(Reso //Change me when minecraft version changes case "tags/block": RegisterBlockTagEvent blockTagEvent = new RegisterBlockTagEvent(map); - ModLoader.postEvent(blockTagEvent); + ModLoader.get().postEvent(blockTagEvent); break; case "tags/item": RegisterItemTagEvent itemTagEvent = new RegisterItemTagEvent(map); - ModLoader.postEvent(itemTagEvent); + ModLoader.get().postEvent(itemTagEvent); break; default: //Waiting for more... diff --git a/src/main/java/cam72cam/mod/net/Packet.java b/src/main/java/cam72cam/mod/net/Packet.java index 9e57eaaa0..325997642 100644 --- a/src/main/java/cam72cam/mod/net/Packet.java +++ b/src/main/java/cam72cam/mod/net/Packet.java @@ -20,8 +20,8 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -import net.neoforged.neoforge.network.PacketDistributor; -import net.neoforged.neoforge.network.handling.IPayloadContext; +import net.minecraftforge.network.PacketDistributor; +import net.minecraftforge.network.handling.IPayloadContext; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/cam72cam/mod/render/BakedScaledModel.java b/src/main/java/cam72cam/mod/render/BakedScaledModel.java index 99b7ba400..ebccab937 100644 --- a/src/main/java/cam72cam/mod/render/BakedScaledModel.java +++ b/src/main/java/cam72cam/mod/render/BakedScaledModel.java @@ -9,8 +9,8 @@ import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.model.IQuadTransformer; -import net.neoforged.neoforge.client.model.QuadTransformers; +import net.minecraftforge.client.model.IQuadTransformer; +import net.minecraftforge.client.model.QuadTransformers; import org.joml.Matrix4f; import util.Matrix4; diff --git a/src/main/java/cam72cam/mod/render/BlockRender.java b/src/main/java/cam72cam/mod/render/BlockRender.java index 80c1f14ad..a65f8e866 100644 --- a/src/main/java/cam72cam/mod/render/BlockRender.java +++ b/src/main/java/cam72cam/mod/render/BlockRender.java @@ -32,7 +32,7 @@ import net.minecraft.world.level.material.MapColor; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import net.neoforged.neoforge.client.model.data.ModelData; +import net.minecraftforge.client.model.data.ModelData; import org.jetbrains.annotations.NotNull; import java.util.*; diff --git a/src/main/java/cam72cam/mod/render/GlobalRender.java b/src/main/java/cam72cam/mod/render/GlobalRender.java index 7e36c2c98..f9a35accb 100644 --- a/src/main/java/cam72cam/mod/render/GlobalRender.java +++ b/src/main/java/cam72cam/mod/render/GlobalRender.java @@ -15,7 +15,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.entity.EntityRenderDispatcher; -import net.neoforged.neoforge.client.gui.VanillaGuiLayers; import org.joml.Matrix4f; import java.util.ArrayList; diff --git a/src/main/java/cam72cam/mod/render/ItemRender.java b/src/main/java/cam72cam/mod/render/ItemRender.java index fccba1b2b..2d7971ce2 100644 --- a/src/main/java/cam72cam/mod/render/ItemRender.java +++ b/src/main/java/cam72cam/mod/render/ItemRender.java @@ -34,10 +34,9 @@ import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.model.ExtraFaceData; -import net.neoforged.neoforge.client.model.ItemLayerModel; -import net.neoforged.neoforge.client.model.SimpleModelState; -import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; +import net.minecraftforge.client.model.ItemLayerModel; +import net.minecraftforge.client.model.SimpleModelState; +import net.minecraftforge.client.model.geometry.IGeometryBakingContext; import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/cam72cam/mod/render/opengl/RenderState.java b/src/main/java/cam72cam/mod/render/opengl/RenderState.java index 63f149d6e..fcec26cd3 100644 --- a/src/main/java/cam72cam/mod/render/opengl/RenderState.java +++ b/src/main/java/cam72cam/mod/render/opengl/RenderState.java @@ -4,8 +4,8 @@ import cam72cam.mod.render.OptiFine; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.neoforge.common.util.Lazy; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.common.util.Lazy; import org.joml.Matrix4f; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; diff --git a/src/main/java/cam72cam/mod/resource/BuiltinPack.java b/src/main/java/cam72cam/mod/resource/BuiltinPack.java index 16a88ae8e..cbb9ebe1d 100644 --- a/src/main/java/cam72cam/mod/resource/BuiltinPack.java +++ b/src/main/java/cam72cam/mod/resource/BuiltinPack.java @@ -14,10 +14,10 @@ import net.minecraft.server.packs.repository.PackSource; import net.minecraft.server.packs.resources.IoSupplier; import net.minecraft.world.flag.FeatureFlagSet; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.ModList; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.loading.FMLPaths; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModList; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.loading.FMLPaths; import javax.annotation.Nullable; import java.io.ByteArrayInputStream; diff --git a/src/main/java/cam72cam/mod/resource/Data.java b/src/main/java/cam72cam/mod/resource/Data.java index bb913df8f..362052a5c 100644 --- a/src/main/java/cam72cam/mod/resource/Data.java +++ b/src/main/java/cam72cam/mod/resource/Data.java @@ -2,8 +2,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.server.packs.resources.Resource; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.FMLPaths; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.fml.loading.FMLPaths; import org.apache.commons.io.IOUtils; import java.io.*; diff --git a/src/main/java/cam72cam/mod/text/PlayerMessage.java b/src/main/java/cam72cam/mod/text/PlayerMessage.java index 46b24d740..1a402e311 100644 --- a/src/main/java/cam72cam/mod/text/PlayerMessage.java +++ b/src/main/java/cam72cam/mod/text/PlayerMessage.java @@ -1,7 +1,7 @@ package cam72cam.mod.text; import net.minecraft.network.chat.Component; -import net.neoforged.neoforge.common.CommonHooks; +import net.minecraftforge.common.ForgeHooks; import java.util.Arrays; @@ -26,6 +26,6 @@ public static PlayerMessage translate(String msg, Object... objects) { /** URL Formatted (clickable) */ public static PlayerMessage url(String url) { - return new PlayerMessage(CommonHooks.newChatWithLinks(url)); + return new PlayerMessage(ForgeHooks.newChatWithLinks(url)); } } diff --git a/src/main/java/cam72cam/mod/util/MinecraftFiles.java b/src/main/java/cam72cam/mod/util/MinecraftFiles.java index 6444f4947..60bdc0042 100644 --- a/src/main/java/cam72cam/mod/util/MinecraftFiles.java +++ b/src/main/java/cam72cam/mod/util/MinecraftFiles.java @@ -1,7 +1,7 @@ package cam72cam.mod.util; import cam72cam.mod.world.World; -import net.neoforged.fml.loading.FMLPaths; +import net.minecraftforge.fml.loading.FMLPaths; import java.io.File; import java.nio.file.Path; diff --git a/src/main/java/cam72cam/mod/util/RegistryUtil.java b/src/main/java/cam72cam/mod/util/RegistryUtil.java index 511892a17..a18908496 100644 --- a/src/main/java/cam72cam/mod/util/RegistryUtil.java +++ b/src/main/java/cam72cam/mod/util/RegistryUtil.java @@ -5,9 +5,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; -import net.neoforged.fml.util.thread.EffectiveSide; -import net.neoforged.neoforge.common.conditions.ICondition; -import net.neoforged.neoforge.server.ServerLifecycleHooks; +import net.minecraftforge.common.crafting.conditions.ICondition; +import net.minecraftforge.fml.util.thread.EffectiveSide; +import net.minecraftforge.server.ServerLifecycleHooks; import javax.annotation.Nonnull; import java.util.ArrayList; diff --git a/src/main/java/cam72cam/mod/world/World.java b/src/main/java/cam72cam/mod/world/World.java index 13772fb43..7004180dd 100644 --- a/src/main/java/cam72cam/mod/world/World.java +++ b/src/main/java/cam72cam/mod/world/World.java @@ -43,13 +43,13 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.shapes.VoxelShape; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.neoforge.common.SpecialPlantable; -import net.neoforged.neoforge.fluids.capability.IFluidHandler; -import net.neoforged.neoforge.items.IItemHandler; -import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fml.loading.FMLEnvironment; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.IItemHandlerModifiable; import org.apache.commons.lang3.NotImplementedException; import java.util.*; @@ -639,7 +639,7 @@ public boolean isReplaceable(Vec3i pos) { if (block instanceof BushBlock) { return true; } - if (block.asItem() instanceof SpecialPlantable) { + if (block.asItem() instanceof IPlantable) { return true; } if (block instanceof LiquidBlock) { diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 4e70798ef..cac06a698 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -8,10 +8,10 @@ public net.minecraft.client.multiplayer.ClientLevel connection #connection public net.minecraft.client.renderer.GameRenderer renderBuffers #renderBuffers public net.minecraft.client.gui.components.Checkbox (IILnet/minecraft/network/chat/Component;Lnet/minecraft/client/gui/Font;ZLnet/minecraft/client/gui/components/Checkbox$OnValueChange;)V public-f net.minecraft.client.gui.components.AbstractWidget render(Lnet/minecraft/client/gui/GuiGraphics;IIF)V -public net.neoforged.neoforge.common.CreativeModeTabRegistry recalculateItemCreativeModeTabs()V +public net.minecraftforge.common.CreativeModeTabRegistry recalculateItemCreativeModeTabs()V public net.minecraft.client.gui.components.Checkbox (IIILnet/minecraft/network/chat/Component;Lnet/minecraft/client/gui/Font;ZLnet/minecraft/client/gui/components/Checkbox$OnValueChange;)V public net.minecraft.client.renderer.MultiBufferSource$BufferSource startedBuilders -public net.neoforged.neoforge.client.model.ItemLayerModel (Lcom/google/common/collect/ImmutableList;Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;)V +public net.minecraftforge.client.model.ItemLayerModel (Lcom/google/common/collect/ImmutableList;Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;)V public net.minecraft.client.resources.model.ModelManager atlases # atlases public net.minecraft.client.resources.model.ModelManager maxMipmapLevels # maxMipmapLevels public net.minecraft.client.multiplayer.prediction.BlockStatePredictionHandler$ServerVerifiedState @@ -24,6 +24,6 @@ public net.minecraft.world.entity.item.ItemEntity target # target public net.minecraft.world.phys.shapes.VoxelShape (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V public net.minecraft.world.phys.shapes.VoxelShape shape # shape public net.minecraft.util.math.shapes.VoxelShapeCube (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V -public net.neoforged.neoforge.common.conditions.ConditionalOps context +public net.minecraftforge.common.conditions.ConditionalOps context public com.mojang.blaze3d.platform.Lighting DIFFUSE_LIGHT_0 public com.mojang.blaze3d.platform.Lighting DIFFUSE_LIGHT_1 \ No newline at end of file diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml new file mode 100644 index 000000000..57aaaf05d --- /dev/null +++ b/src/main/resources/META-INF/mods.toml @@ -0,0 +1,28 @@ +modLoader="javafml" +loaderVersion="[52,)" +issueTrackerURL="https://github.com/TeamOpenIndustry/UniversalModCore/issues" +license="LGPL" + +[[mods]] +modId="universalmodcore" +version="1.2.3" +displayName="Universal Mod Core" +displayURL="https://github.com/TeamOpenIndustry/UniversalModCore" +authors="cam72cam" +description=''' +Universal Mod API (Minecraft version agnostic) +''' + +[[dependencies.universalmodcore]] +modId="forge" +mandatory=true +versionRange="[52.1.14,)" +ordering="NONE" +side="BOTH" + +[[dependencies.universalmodcore]] +modId="minecraft" +mandatory=true +versionRange="[1.21.1]" +ordering="NONE" +side="BOTH" diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml deleted file mode 100644 index 7bed328e9..000000000 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ /dev/null @@ -1,36 +0,0 @@ -modLoader="javafml" -loaderVersion="[2,)" -issueTrackerURL="https://github.com/TeamOpenIndustry/UniversalModCore/issues" -license="LGPL" - -[[mods]] -modId="universalmodcore" -version="1.2.3" -displayName="Universal Mod Core" -displayURL="https://github.com/TeamOpenIndustry/UniversalModCore" -authors="cam72cam" -description=''' -Universal Mod API (Minecraft version agnostic) -''' - -[[mixins]] -config="mixins.feat.universalmodcore.json" -[[mixins]] -config="mixins.fix.universalmodcore.json" - -[modproperties.universalmodcore."yumi:entrypoints"] -"lambdynlights:initializer" = "cam72cam.mod.render.Light$UMCDynLightInitializer" - -[[dependencies.universalmodcore]] - modId="neoforge" - type='required' - versionRange="[21.1.216,)" - ordering="NONE" - side="BOTH" - -[[dependencies.universalmodcore]] - modId="minecraft" - type='required' - versionRange="[1.21.1]" - ordering="NONE" - side="BOTH" diff --git a/src/main/resources/template/UMC.md b/src/main/resources/template/UMC.md index d60e3afd5..b0c28ce55 100644 --- a/src/main/resources/template/UMC.md +++ b/src/main/resources/template/UMC.md @@ -1 +1 @@ -You don't need to run anything manually, NeoGradle has done them for you \ No newline at end of file +You don't need to run anything manually, ForgeGradle 7 has done them for you \ No newline at end of file diff --git a/src/main/resources/template/build.gradle b/src/main/resources/template/build.gradle index 77c5816d3..54e12fd03 100644 --- a/src/main/resources/template/build.gradle +++ b/src/main/resources/template/build.gradle @@ -1,68 +1,122 @@ -//BUILDSCRIPT// -buildscript { - repositories { - maven { - name "neoforgedReleases" - url "https://maven.neoforged.net/releases" - } - maven { url "https://plugins.gradle.org/m2/" } - mavenCentral() - } - dependencies { - classpath group: 'net.neoforged.gradle', name: 'userdev', version: '7.1.11' - classpath group: 'net.neoforged.gradle', name: 'common', version: '7.1.11' - } -} - //PLUGINS// -apply plugin: 'net.neoforged.gradle.userdev' -apply plugin: 'net.neoforged.gradle.common' -apply plugin: 'eclipse' +plugins { + id 'java' + id 'idea' + id 'eclipse' + id 'maven-publish' + id 'net.minecraftforge.gradle' version '[7.0.23,8.0)' + id 'net.minecraftforge.jarjar' version '0.2.3' +} //MINECRAFT// -sourceSets { - main { - resources { - srcDirs = [ - "$rootDir/src/main/resources", - "$rootDir/src/generated/resources" - ] - } - } -} java.toolchain.languageVersion = JavaLanguageVersion.of(21) +println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) -runs { - configureEach { - systemProperty 'forge.logging.markers', 'REGISTRIES' - systemProperty 'forge.logging.console.level', 'debug' +minecraft { + mappings channel: "official", version: "1.21.1" + accessTransformer = true - modSource project.sourceSets.main - } + runs { + // applies to all the run configs below + configureEach { + workingDir.convention layout.projectDirectory.dir('run') + // Mixin requires either specifying the config via command line, or in the Manifest + args "--mixin.config=universalmodcore.feat.mixins.json", "--mixin.config=universalmodcore.fix.mixins.json" - client { - systemProperty 'neoforge.enabledGameTestNamespaces', '#ID#' - } + systemProperty "mixin.debug.verbose", "true" + systemProperty "mixin.debug.export", "true" + // Recommended logging data for a userdev environment + // The markers can be added/remove as needed separated by commas. + // "SCAN": For mods scan. + // "REGISTRIES": For firing of registry events. + // "REGISTRYDUMP": For getting the contents of all registries. + systemProperty 'forge.logging.markers', 'REGISTRIES' - server { - systemProperty 'neoforge.enabledGameTestNamespaces', '#ID#' - argument '--nogui' - } + // Recommended logging level for the console + // You can set various levels here. + // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels + systemProperty 'forge.logging.console.level', 'debug' + } - gameTestServer { - systemProperty 'neoforge.enabledGameTestNamespaces', '#ID#' - } + register('client') { + // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + } + + register('server') { + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + args '--nogui' + } + + // This run config launches GameTestServer and runs all registered gametests, then exits. + // By default, the server will crash when no gametests are provided. + // The gametest system is also enabled by default for other run configs under the /test command. + register('gameTestServer') { + systemProperty 'forge.enabledGameTestNamespaces', 'universalmodcore' + } + + register('data') { + // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it + // workingDirectory project.file('run-data') - data {arguments.addAll '--mod', '#ID#', '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. + args '--mod', 'universalmodcore', '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + } } } +sourceSets.main.resources { srcDir layout.projectDirectory.dir('src/generated/resources') } + //DEPENDENCIES// + +// This methods registers jarJar for the default jar task. +// The closure allows you to configure the task, instead of needing to do this: +// tasks.named('jarJar', net.minecraftforge.jarjar.gradle.JarJar) +jarJar.register() { + archiveClassifier = null +} + #UMC_REPO# +repositories { + minecraft.mavenizer(it) + maven fg.forgeMaven + maven fg.minecraftLibsMaven + exclusiveContent { + forRepository { + maven { + name = 'Sponge' + url = 'https://repo.spongepowered.org/repository/maven-public' + } + } + filter { + includeGroupAndSubgroups('org.spongepowered') + } + } + mavenCentral() + mavenLocal() +} dependencies { - implementation "net.neoforged:neoforge:21.1.216" - implementation group: 'javax.vecmath', name: 'vecmath', version: '1.5.2' + implementation minecraft.dependency("net.minecraftforge:forge:1.21.1-52.1.14") + implementation(jarJar(group: 'javax.vecmath', name: 'vecmath', version: '1.5.2')) { + jarJar.configure(it) { + module { + group = 'javax.vecmath' + name = 'vecmath' + } + version = "1.5.2" + } + } + compileOnly(annotationProcessor('io.github.llamalad7:mixinextras-common:0.5.0')) + implementation(jarJar('io.github.llamalad7:mixinextras-forge:0.5.0')) { + jarJar.configure(it) { + module { + group = 'io.github.llamalad7' + name = 'mixinextras' + } + range = "[0.5.0,)" + } + } implementation #UMC_DEPENDENCY# } @@ -76,7 +130,6 @@ jar { "Implementation-Title": project.name, "Implementation-Version": "${version}", "Implementation-Vendor" :"#ID#", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } @@ -84,3 +137,19 @@ jar { tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation } + +// IntelliJ no longer downloads javadocs and sources by default, this tells Gradle to force IntelliJ to do it. +idea.module { downloadJavadoc = downloadSources = true } + +eclipse { + // Eclipse no longer downloads javadocs and sources by default, this tells Gradle to force Eclipse to do it. + classpath { downloadJavadoc = downloadSources = true } + + // NOTE: ForgeGradle 7 does not yet support Eclipse run configurations + // Run everytime eclipse builds the code + //autoBuildTasks genEclipseRuns + // Run when importing the project + //synchronizationTasks 'genEclipseRuns' +} + +// NOTE: Merging of source sets is now controlled by the property 'net.minecraftforge.gradle.merge-source-sets' \ No newline at end of file diff --git a/src/main/resources/template/gradle.properties b/src/main/resources/template/gradle.properties new file mode 100644 index 000000000..b1828365f --- /dev/null +++ b/src/main/resources/template/gradle.properties @@ -0,0 +1,9 @@ +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.configureondemand=true + +org.gradle.configuration-cache=true +org.gradle.configuration-cache.parallel=true +org.gradle.configuration-cache.problems=warn + +net.minecraftforge.gradle.merge-source-sets=true \ No newline at end of file diff --git a/src/main/resources/template/gradle/wrapper/gradle-wrapper.properties b/src/main/resources/template/gradle/wrapper/gradle-wrapper.properties index 7471fbebb..23a74e6e7 100644 --- a/src/main/resources/template/gradle/wrapper/gradle-wrapper.properties +++ b/src/main/resources/template/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip diff --git a/src/main/resources/template/settings.gradle b/src/main/resources/template/settings.gradle new file mode 100644 index 000000000..3e187fe5a --- /dev/null +++ b/src/main/resources/template/settings.gradle @@ -0,0 +1,3 @@ +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} \ No newline at end of file diff --git a/src/main/resources/template/src/main/java/PACKAGEPATH/Mod.java b/src/main/resources/template/src/main/java/PACKAGEPATH/Mod.java index c52a693c5..c0bc5bc09 100644 --- a/src/main/resources/template/src/main/java/PACKAGEPATH/Mod.java +++ b/src/main/resources/template/src/main/java/PACKAGEPATH/Mod.java @@ -1,9 +1,9 @@ package #PACKAGE#; import cam72cam.mod.ModCore; -import net.neoforged.bus.api.SubscribeEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; -@net.neoforged.fml.common.Mod(Mod.MODID) +@net.minecraftforge.fml.common.Mod(Mod.MODID) public class Mod { public static final String MODID = "#ID#"; diff --git a/src/main/resources/template/src/main/resources/META-INF/mods.toml b/src/main/resources/template/src/main/resources/META-INF/mods.toml new file mode 100644 index 000000000..09c0e4510 --- /dev/null +++ b/src/main/resources/template/src/main/resources/META-INF/mods.toml @@ -0,0 +1,24 @@ +modLoader="javafml" +loaderVersion="[52,)" +license="TODO" + +[[mods]] +modId="#ID#" +version="${file.jarVersion}" +displayName="#NAME#" + +[[dependencies.#ID#]] +modId="forge" +mandatory=true +versionRange="[52.1.14,)" +ordering="NONE" +side="BOTH" + +[[dependencies.#ID#]] +modId="minecraft" +mandatory=true +versionRange="[1.21.1]" +ordering="NONE" +side="BOTH" + +#FORGE_TOML_DEPENDENCIES# diff --git a/src/main/resources/template/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/template/src/main/resources/META-INF/neoforge.mods.toml deleted file mode 100644 index c864ff75a..000000000 --- a/src/main/resources/template/src/main/resources/META-INF/neoforge.mods.toml +++ /dev/null @@ -1,24 +0,0 @@ -modLoader="javafml" -loaderVersion="[2,)" -license="TODO" - -[[mods]] -modId="#ID#" -version="${file.jarVersion}" -displayName="#NAME#" - -[[dependencies.#ID#]] - modId="neoforge" - type='required' - versionRange="[21.1.1,)" - ordering="NONE" - side="BOTH" - -[[dependencies.#ID#]] - modId="minecraft" - type='required' - versionRange="[1.21.1]" - ordering="NONE" - side="BOTH" - -#FORGE_TOML_DEPENDENCIES# diff --git a/src/test/java/cam72cam/mod/model/obj/OBJModelTest.java b/src/test/java/cam72cam/mod/model/obj/OBJModelTest.java index b9baba6c6..ed2f22449 100644 --- a/src/test/java/cam72cam/mod/model/obj/OBJModelTest.java +++ b/src/test/java/cam72cam/mod/model/obj/OBJModelTest.java @@ -2,8 +2,8 @@ import cam72cam.mod.resource.Identifier; import cpw.mods.modlauncher.Launcher; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.fml.loading.FMLLoader; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.loading.FMLLoader; import org.codehaus.plexus.util.FileUtils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll;