Compare commits

..

2 commits

Author SHA1 Message Date
Ell
852ea30b63 automatic migration 2024-02-03 14:56:07 +01:00
Ell
46451bc093 update gradle to neoforge 2024-02-03 14:49:36 +01:00
133 changed files with 497 additions and 615 deletions

View file

@ -1,17 +1,25 @@
plugins { plugins {
id 'java-library'
id 'eclipse' id 'eclipse'
id 'idea' id 'idea'
id 'maven-publish' id 'maven-publish'
id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'net.neoforged.gradle.userdev' version '7.0.80'
} }
version = mod_version version = mod_version
if (System.getenv('CI_PIPELINE_NUMBER') != null) {
version += "." + System.getenv('CI_PIPELINE_NUMBER')
}
group = mod_group_id group = mod_group_id
repositories {
mavenLocal()
maven {
url = "https://maven.blamejared.com"
}
maven {
url = "https://maven.theillusivec4.top/"
}
}
base { base {
archivesName = mod_name archivesName = mod_name
} }
@ -20,147 +28,72 @@ base {
java.toolchain.languageVersion = JavaLanguageVersion.of(17) java.toolchain.languageVersion = JavaLanguageVersion.of(17)
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft { runs {
// The mappings can be changed at any time and must be in the following format. // applies to all the run configs below
// Channel: Version: configureEach {
// official MCVersion Official field/method names from Mojang mapping files // Recommended logging data for a userdev environment
// parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official // The markers can be added/remove as needed separated by commas.
// // "SCAN": For mods scan.
// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings. // "REGISTRIES": For firing of registry events.
// See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md // "REGISTRYDUMP": For getting the contents of all registries.
// systemProperty 'forge.logging.markers', 'REGISTRIES'
// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
// Additional setup is needed to use their mappings: https://parchmentmc.org/docs/getting-started
//
// Use non-default mappings at your own risk. They may not always work.
// Simply re-run your setup task after changing the mappings to update your workspace.
mappings channel: mapping_channel, version: mapping_version
// When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game. // Recommended logging level for the console
// In most cases, it is not necessary to enable. // You can set various levels here.
// enableEclipsePrepareRuns = true // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
// enableIdeaPrepareRuns = true systemProperty 'forge.logging.console.level', 'info'
// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game. modSource project.sourceSets.main
// It is REQUIRED to be set to true for this template to function. }
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
copyIdeResources = true
// When true, this property will add the folder name of all declared run configurations to generated IDE run configurations. client {
// The folder name can be set on a run configuration using the "folderName" property. // Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
// By default, the folder name of a run configuration is the name of the Gradle project containing it. systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
// generateRunFolders = true }
// This property enables access transformers for use in development. server {
// They will be applied to the Minecraft artifact. systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
// The access transformer file can be anywhere in the project. programArgument '--nogui'
// However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge. }
// This default location is a best practice to automatically put the file in the right place in the final jar.
// See https://docs.minecraftforge.net/en/latest/advanced/accesstransformers/ for more information.
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
// Default run configurations. // This run config launches GameTestServer and runs all registered gametests, then exits.
// These can be tweaked, removed, or duplicated as needed. // By default, the server will crash when no gametests are provided.
runs { // The gametest system is also enabled by default for other run configs under the /test command.
// applies to all the run configs below gameTestServer {
configureEach { systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
workingDirectory project.file('run') }
// Recommended logging data for a userdev environment data {
// The markers can be added/remove as needed separated by commas. // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
// "SCAN": For mods scan. // workingDirectory project.file('run-data')
// "REGISTRIES": For firing of registry events.
// "REGISTRYDUMP": For getting the contents of all registries.
property 'forge.logging.markers', 'REGISTRIES'
// Recommended logging level for the console // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
// You can set various levels here. programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
property 'forge.logging.console.level', 'info'
mods {
"${mod_id}" {
source sourceSets.main
}
}
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
}
client {
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
property 'forge.enabledGameTestNamespaces', mod_id
}
server {
property 'forge.enabledGameTestNamespaces', mod_id
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 {
property 'forge.enabledGameTestNamespaces', mod_id
}
data {
// example of overriding the workingDirectory set in configureEach above
workingDirectory project.file('run-data')
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
} }
} }
// Include resources generated by data generators. // Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' } sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {
// Put repositories for dependencies here
// ForgeGradle automatically adds the Forge maven and Maven Central for you
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
// flatDir {
// dir 'libs'
// }
// it says this gets included automatically but apparently it doesn't
mavenCentral()
maven {
url = "https://maven.blamejared.com"
}
maven {
url = "https://maven.theillusivec4.top/"
}
maven {
url = "https://maven.ellpeck.de"
}
}
dependencies { dependencies {
// Specify the version of Minecraft to use. // Specify the version of Minecraft to use.
// Any artifact can be supplied so long as it has a "userdev" classifier artifact and is a compatible patcher artifact. // Any artifact can be supplied so long as it has a "userdev" classifier artifact and is a compatible patcher artifact.
// The "userdev" classifier will be requested and setup by ForgeGradle. // The "userdev" classifier will be requested and setup by ForgeGradle.
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"], // If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository. // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation "net.neoforged:neoforge:${neo_version}"
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings // Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime // The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}") compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge-api:${jei_version}") compileOnly "mezz.jei:jei-${minecraft_version}-neoforge-api:${jei_version}"
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge:${jei_version}") runtimeOnly "mezz.jei:jei-${minecraft_version}-neoforge:${jei_version}"
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}") runtimeOnly "top.theillusivec4.curios:curios-neoforge:${curios_version}"
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api") compileOnly "top.theillusivec4.curios:curios-neoforge:${curios_version}:api"
compileOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}:api") compileOnly "vazkii.patchouli:Patchouli:${patchouli_version}:api"
runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}") runtimeOnly "vazkii.patchouli:Patchouli:${patchouli_version}"
// Example mod dependency using a mod jar from ./libs with a flat dir repository // Example mod dependency using a mod jar from ./libs with a flat dir repository
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar // This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
@ -176,38 +109,21 @@ dependencies {
// A missing property will result in an error. Properties are expanded using ${} Groovy notation. // A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments. // When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html // See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.named('processResources', ProcessResources).configure { tasks.withType(ProcessResources).configureEach {
var replaceProperties = [ var replaceProperties = [
minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range, minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range,
forge_version : forge_version, forge_version_range: forge_version_range, neo_version : neo_version, neo_version_range: neo_version_range,
loader_version_range: loader_version_range, loader_version_range: loader_version_range,
mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: version, mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors : mod_authors, mod_description: mod_description, mod_authors : mod_authors, mod_description: mod_description,
] ]
inputs.properties replaceProperties inputs.properties replaceProperties
filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { filesMatching(['META-INF/mods.toml']) {
expand replaceProperties + [project: project] expand replaceProperties + [project: project]
} }
} }
// Example for how to get properties into the manifest for reading at runtime.
tasks.named('jar', Jar).configure {
manifest {
attributes([
'Specification-Title' : mod_id,
'Specification-Vendor' : mod_authors,
'Specification-Version' : '1', // We are version 1 of ourselves
'Implementation-Title' : project.name,
'Implementation-Version' : project.jar.archiveVersion,
'Implementation-Vendor' : mod_authors,
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
// This is the preferred method to reobfuscate your jar file
finalizedBy 'reobfJar'
}
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing: // However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing:
// tasks.named('publish').configure { // tasks.named('publish').configure {
// dependsOn 'reobfJar' // dependsOn 'reobfJar'
@ -217,23 +133,16 @@ tasks.named('jar', Jar).configure {
publishing { publishing {
publications { publications {
register('mavenJava', MavenPublication) { register('mavenJava', MavenPublication) {
groupId mod_group_id from components.java
artifactId mod_name
artifact jar
pom.withXml {
def node = asNode()
if (node.dependencies.size() > 0)
node.remove(node.dependencies)
}
} }
} }
repositories { repositories {
maven { maven {
url "file://" + System.getenv("LOCAL_MAVEN") url "file://${project.projectDir}/repo"
} }
} }
} }
tasks.withType(JavaCompile).configureEach { tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
} }

View file

@ -1,41 +1,27 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties. org.gradle.debug=false
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G #read more on this at https://github.com/neoforged/NeoGradle/blob/NG_7.0/README.md#apply-parchment-mappings
org.gradle.daemon=false # you can also find the latest versions at: https://parchmentmc.org/docs/getting-started
## Environment Properties neogradle.subsystems.parchment.minecraftVersion=1.20.3
# The Minecraft version must agree with the Forge version to get a valid artifact neogradle.subsystems.parchment.mappingsVersion=2023.12.31
minecraft_version=1.20.1 # Environment Properties
# You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge
# The Minecraft version must agree with the Neo version to get a valid artifact
minecraft_version=1.20.4
# The Minecraft version range can use any release version of Minecraft as bounds. # The Minecraft version range can use any release version of Minecraft as bounds.
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
# as they do not follow standard versioning conventions. # as they do not follow standard versioning conventions.
minecraft_version_range=[1.20.1,1.21) minecraft_version_range=[1.20.4,1.21)
# The Forge version must agree with the Minecraft version to get a valid artifact # The Neo version must agree with the Minecraft version to get a valid artifact
forge_version=47.1.0 neo_version=20.4.80-beta
# The Forge version range can use any version of Forge as bounds or match the loader version range # The Neo version range can use any version of Neo as bounds
forge_version_range=[47,) neo_version_range=[20.4,)
# The loader version range can only use the major version of Forge/FML as bounds # The loader version range can only use the major version of FML as bounds
loader_version_range=[47,) loader_version_range=[2,)
# The mapping channel to use for mappings.
# The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"]. jei_version=17.3.0.48
# Additional mapping channels can be registered through the "channelProviders" extension in a Gradle plugin. curios_version=7.2.0+1.20.4
# patchouli_version=1.20.4-85-NEOFORGE-SNAPSHOT
# | Channel | Version | |
# |-----------|----------------------|--------------------------------------------------------------------------------|
# | official | MCVersion | Official field/method names from Mojang mapping files |
# | parchment | YYYY.MM.DD-MCVersion | Open community-sourced parameter names and javadocs layered on top of official |
#
# You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
# See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
#
# Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge.
# Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started
mapping_channel=official
# The mapping version to query from the mapping channel.
# This must match the format required by the mapping channel.
mapping_version=1.20.1
jei_version=15.2.0.22
curios_version=5.2.0-beta.3+1.20.1
patchouli_version=1.20.1-80-FORGE-SNAPSHOT
## Mod Properties ## Mod Properties
# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63} # The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}

View file

@ -1,13 +1,11 @@
pluginManagement { pluginManagement {
repositories { repositories {
mavenLocal()
gradlePluginPortal() gradlePluginPortal()
maven { maven { url = 'https://maven.neoforged.net/releases' }
name = 'MinecraftForge'
url = 'https://maven.minecraftforge.net/'
}
} }
} }
plugins { plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0' id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0'
} }

View file

@ -40,14 +40,14 @@ import net.minecraft.world.level.chunk.ChunkAccess;
import net.minecraft.world.level.chunk.ChunkStatus; import net.minecraft.world.level.chunk.ChunkStatus;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.neoforge.common.util.LazyOptional;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.registries.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.IForgeRegistry;
import net.minecraftforge.registries.IForgeRegistry; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
import top.theillusivec4.curios.api.CuriosApi; import top.theillusivec4.curios.api.CuriosApi;
import top.theillusivec4.curios.api.SlotResult; import top.theillusivec4.curios.api.SlotResult;

View file

@ -6,9 +6,9 @@ import de.ellpeck.naturesaura.api.misc.WeightedOre;
import de.ellpeck.naturesaura.chunk.effect.OreSpawnEffect; import de.ellpeck.naturesaura.chunk.effect.OreSpawnEffect;
import de.ellpeck.naturesaura.chunk.effect.PlantBoostEffect; import de.ellpeck.naturesaura.chunk.effect.PlantBoostEffect;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.common.ForgeConfigSpec; import net.neoforged.neoforge.common.ModConfigSpec;
import net.minecraftforge.common.ForgeConfigSpec.ConfigValue; import net.neoforged.neoforge.common.ModConfigSpec.ConfigValue;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -51,7 +51,7 @@ public final class ModConfig {
public ConfigValue<Boolean> debugLevel; public ConfigValue<Boolean> debugLevel;
public ConfigValue<Boolean> renderItemsOnPlayer; public ConfigValue<Boolean> renderItemsOnPlayer;
public ModConfig(ForgeConfigSpec.Builder builder) { public ModConfig(ModConfigSpec.Builder builder) {
builder.push("general"); builder.push("general");
this.additionalBotanistPickaxeConversions = builder this.additionalBotanistPickaxeConversions = builder
.comment("Additional conversion recipes for the Botanist's Pickaxe right click function. Each entry needs to be formatted as modid:input_block[prop1=value1,...]->modid:output_block[prop1=value1,...] where block state properties are optional, and entries follow standard TOML array formatting (https://toml.io/en/v1.0.0#array).") .comment("Additional conversion recipes for the Botanist's Pickaxe right click function. Each entry needs to be formatted as modid:input_block[prop1=value1,...]->modid:output_block[prop1=value1,...] where block state properties are optional, and entries follow standard TOML array formatting (https://toml.io/en/v1.0.0#array).")

View file

@ -11,13 +11,13 @@ import de.ellpeck.naturesaura.proxy.ClientProxy;
import de.ellpeck.naturesaura.proxy.IProxy; import de.ellpeck.naturesaura.proxy.IProxy;
import de.ellpeck.naturesaura.proxy.ServerProxy; import de.ellpeck.naturesaura.proxy.ServerProxy;
import de.ellpeck.naturesaura.recipes.ModRecipes; import de.ellpeck.naturesaura.recipes.ModRecipes;
import net.minecraftforge.common.ForgeConfigSpec; import net.neoforged.neoforge.common.ModConfigSpec;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.fml.DistExecutor; import net.neoforged.fml.DistExecutor;
import net.minecraftforge.fml.ModLoadingContext; import net.neoforged.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -37,9 +37,9 @@ public final class NaturesAura {
NaturesAura.instance = this; NaturesAura.instance = this;
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
var builder = new ForgeConfigSpec.Builder(); var builder = new ModConfigSpec.Builder();
ModConfig.instance = new ModConfig(builder); ModConfig.instance = new ModConfig(builder);
ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, builder.build()); ModLoadingContext.get().registerConfig(net.neoforged.fml.config.ModConfig.Type.COMMON, builder.build());
} }
public void setup(FMLCommonSetupEvent event) { public void setup(FMLCommonSetupEvent event) {
@ -53,7 +53,7 @@ public final class NaturesAura {
PacketHandler.init(); PacketHandler.init();
new Multiblocks(); new Multiblocks();
MinecraftForge.EVENT_BUS.register(new CommonEvents()); NeoForge.EVENT_BUS.register(new CommonEvents());
NaturesAura.proxy.preInit(event); NaturesAura.proxy.preInit(event);
} }

View file

@ -23,9 +23,10 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.*;
import net.minecraftforge.common.capabilities.CapabilityManager; import net.neoforged.neoforge.common.capabilities.CapabilityToken;
import net.minecraftforge.common.capabilities.CapabilityToken; import net.neoforged.neoforge.common.capabilities.Capability;
import net.neoforged.neoforge.common.capabilities.CapabilityManager;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -7,7 +7,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraftforge.common.util.INBTSerializable; import net.neoforged.neoforge.common.util.INBTSerializable;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;

View file

@ -3,9 +3,9 @@ package de.ellpeck.naturesaura.api.misc;
import de.ellpeck.naturesaura.api.NaturesAuraAPI; import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.neoforge.common.util.INBTSerializable;
import net.minecraftforge.common.util.INBTSerializable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
public interface ILevelData extends ICapabilityProvider, INBTSerializable<CompoundTag> { public interface ILevelData extends ICapabilityProvider, INBTSerializable<CompoundTag> {

View file

@ -4,8 +4,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public interface ITrinketItem { public interface ITrinketItem {

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.api.render;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public interface IVisualizable { public interface IVisualizable {

View file

@ -17,8 +17,8 @@ import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.MapColor; import net.minecraft.world.level.material.MapColor;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class BlockAncientLeaves extends LeavesBlock implements IModItem, IColorProvidingBlock, IColorProvidingItem, ICustomBlockState, EntityBlock { public class BlockAncientLeaves extends LeavesBlock implements IModItem, IColorProvidingBlock, IColorProvidingItem, ICustomBlockState, EntityBlock {

View file

@ -21,8 +21,8 @@ import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.event.ForgeEventFactory; import net.neoforged.neoforge.event.EventHooks;
import net.minecraftforge.eventbus.api.Event; import net.neoforged.bus.api.Event;
public class BlockAncientSapling extends BushBlock implements BonemealableBlock, IModItem, ICustomBlockState, ICustomItemModel { public class BlockAncientSapling extends BushBlock implements BonemealableBlock, IModItem, ICustomBlockState, ICustomItemModel {
@ -74,7 +74,7 @@ public class BlockAncientSapling extends BushBlock implements BonemealableBlock,
public void performBonemeal(ServerLevel level, RandomSource rand, BlockPos pos, BlockState state) { public void performBonemeal(ServerLevel level, RandomSource rand, BlockPos pos, BlockState state) {
if (state.getValue(SaplingBlock.STAGE) == 0) { if (state.getValue(SaplingBlock.STAGE) == 0) {
level.setBlock(pos, state.cycle(SaplingBlock.STAGE), 4); level.setBlock(pos, state.cycle(SaplingBlock.STAGE), 4);
} else if (!ForgeEventFactory.blockGrowFeature(level, rand, pos, null).getResult().equals(Event.Result.DENY)) { } else if (!EventHooks.blockGrowFeature(level, rand, pos, null).getResult().equals(Event.Result.DENY)) {
Registry<ConfiguredFeature<?, ?>> registry = level.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE); Registry<ConfiguredFeature<?, ?>> registry = level.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE);
registry.getHolderOrThrow(ModFeatures.Configured.ANCIENT_TREE).value().place(level, level.getChunkSource().getGenerator(), rand, pos); registry.getHolderOrThrow(ModFeatures.Configured.ANCIENT_TREE).value().place(level, level.getChunkSource().getGenerator(), rand, pos);
} }

View file

@ -13,8 +13,8 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockAnimalContainer extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockAnimalContainer extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -15,21 +15,20 @@ import net.minecraft.world.entity.npc.Npc;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.neoforged.neoforge.event.entity.living.*;
import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.neoforged.neoforge.event.entity.living.LivingExperienceDropEvent;
import net.minecraftforge.event.entity.living.LivingEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.event.entity.living.LivingExperienceDropEvent; import net.neoforged.neoforge.event.entity.living.LivingEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
public class BlockAnimalGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockAnimalGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {
public BlockAnimalGenerator() { public BlockAnimalGenerator() {
super("animal_generator", BlockEntityAnimalGenerator.class, Properties.of().strength(3F).sound(SoundType.STONE)); super("animal_generator", BlockEntityAnimalGenerator.class, Properties.of().strength(3F).sound(SoundType.STONE));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@SubscribeEvent @SubscribeEvent

View file

@ -18,8 +18,8 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockChunkLoader extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockChunkLoader extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -35,7 +35,7 @@ import net.minecraft.world.level.block.state.properties.Property;
import net.minecraft.world.level.block.state.properties.RailShape; import net.minecraft.world.level.block.state.properties.RailShape;
import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.common.util.ITeleporter; import net.neoforged.neoforge.common.util.ITeleporter;
import java.util.function.Function; import java.util.function.Function;

View file

@ -25,9 +25,9 @@ import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.LivingEvent; import net.neoforged.neoforge.event.entity.living.LivingEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
@ -38,7 +38,7 @@ public class BlockEndFlower extends BushBlock implements IModItem, ICustomBlockS
public BlockEndFlower() { public BlockEndFlower() {
super(Properties.of().noCollission().strength(0.5F).sound(SoundType.GRASS)); super(Properties.of().noCollission().strength(0.5F).sound(SoundType.GRASS));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
ModRegistry.ALL_ITEMS.add(this); ModRegistry.ALL_ITEMS.add(this);
ModRegistry.ALL_ITEMS.add(new ModTileType<>(BlockEntityEndFlower::new, this)); ModRegistry.ALL_ITEMS.add(new ModTileType<>(BlockEntityEndFlower::new, this));
} }

View file

@ -28,12 +28,12 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.AnvilUpdateEvent; import net.neoforged.neoforge.event.AnvilUpdateEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.network.NetworkHooks; import net.neoforged.neoforge.network.NetworkHooks;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
@ -43,7 +43,7 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
public BlockEnderCrate() { public BlockEnderCrate() {
super("ender_crate", BlockEntityEnderCrate.class, Properties.of().strength(5F).lightLevel(s -> 7).sound(SoundType.STONE)); super("ender_crate", BlockEntityEnderCrate.class, Properties.of().strength(5F).lightLevel(s -> 7).sound(SoundType.STONE));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
public static String getEnderName(ItemStack stack) { public static String getEnderName(ItemStack stack) {

View file

@ -15,8 +15,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockFieldCreator extends BlockContainerImpl implements ICustomBlockState { public class BlockFieldCreator extends BlockContainerImpl implements ICustomBlockState {

View file

@ -8,8 +8,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockFireworkGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockFireworkGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -8,8 +8,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockFlowerGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockFlowerGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -7,7 +7,7 @@ import de.ellpeck.naturesaura.reg.INoItemBlock;
import de.ellpeck.naturesaura.reg.ModRegistry; import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FlowerPotBlock; import net.minecraft.world.level.block.FlowerPotBlock;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import java.util.function.Supplier; import java.util.function.Supplier;

View file

@ -17,8 +17,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.DirectionProperty; import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import javax.annotation.Nullable; import javax.annotation.Nullable;

View file

@ -19,8 +19,8 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty;
import net.minecraft.world.level.material.MapColor; import net.minecraft.world.level.material.MapColor;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockGoldenLeaves extends LeavesBlock implements IModItem, IColorProvidingBlock, IColorProvidingItem, ICustomBlockState { public class BlockGoldenLeaves extends LeavesBlock implements IModItem, IColorProvidingBlock, IColorProvidingItem, ICustomBlockState {

View file

@ -27,7 +27,7 @@ import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandler;
import javax.annotation.Nullable; import javax.annotation.Nullable;

View file

@ -6,8 +6,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockHopperUpgrade extends BlockContainerImpl implements IVisualizable { public class BlockHopperUpgrade extends BlockContainerImpl implements IVisualizable {

View file

@ -13,8 +13,8 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockLight extends BlockImpl implements ICustomBlockState, INoItemBlock { public class BlockLight extends BlockImpl implements ICustomBlockState, INoItemBlock {

View file

@ -6,8 +6,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockMossGenerator extends BlockContainerImpl implements IVisualizable { public class BlockMossGenerator extends BlockContainerImpl implements IVisualizable {

View file

@ -16,18 +16,18 @@ import net.minecraft.world.level.block.SaplingBlock;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.level.SaplingGrowTreeEvent; import net.neoforged.neoforge.event.level.SaplingGrowTreeEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class BlockOakGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockOakGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {
public BlockOakGenerator() { public BlockOakGenerator() {
super("oak_generator", BlockEntityOakGenerator.class, Properties.of().strength(2F).sound(SoundType.WOOD)); super("oak_generator", BlockEntityOakGenerator.class, Properties.of().strength(2F).sound(SoundType.WOOD));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@SubscribeEvent @SubscribeEvent

View file

@ -11,18 +11,18 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; import net.neoforged.neoforge.event.entity.player.EntityItemPickupEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class BlockPickupStopper extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockPickupStopper extends BlockContainerImpl implements IVisualizable, ICustomBlockState {
public BlockPickupStopper() { public BlockPickupStopper() {
super("pickup_stopper", BlockEntityPickupStopper.class, Properties.of().strength(2F).sound(SoundType.STONE)); super("pickup_stopper", BlockEntityPickupStopper.class, Properties.of().strength(2F).sound(SoundType.STONE));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@SubscribeEvent @SubscribeEvent

View file

@ -8,8 +8,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockPlacer extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockPlacer extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -25,17 +25,17 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.DispenserBlock; import net.minecraft.world.level.block.DispenserBlock;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.ProjectileImpactEvent; import net.neoforged.neoforge.event.entity.ProjectileImpactEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.fml.util.ObfuscationReflectionHelper; import net.neoforged.fml.util.ObfuscationReflectionHelper;
public class BlockProjectileGenerator extends BlockContainerImpl implements ITESRProvider<BlockEntityProjectileGenerator>, ICustomBlockState { public class BlockProjectileGenerator extends BlockContainerImpl implements ITESRProvider<BlockEntityProjectileGenerator>, ICustomBlockState {
public BlockProjectileGenerator() { public BlockProjectileGenerator() {
super("projectile_generator", BlockEntityProjectileGenerator.class, Properties.of().strength(2.5F).sound(SoundType.STONE)); super("projectile_generator", BlockEntityProjectileGenerator.class, Properties.of().strength(2.5F).sound(SoundType.STONE));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
DispenserBlock.registerBehavior(Items.ENDER_PEARL, new AbstractProjectileDispenseBehavior() { DispenserBlock.registerBehavior(Items.ENDER_PEARL, new AbstractProjectileDispenseBehavior() {
@Override @Override

View file

@ -10,17 +10,17 @@ import net.minecraft.world.entity.monster.Slime;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class BlockSlimeSplitGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockSlimeSplitGenerator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {
public BlockSlimeSplitGenerator() { public BlockSlimeSplitGenerator() {
super("slime_split_generator", BlockEntitySlimeSplitGenerator.class, Properties.copy(Blocks.SLIME_BLOCK).strength(2)); super("slime_split_generator", BlockEntitySlimeSplitGenerator.class, Properties.copy(Blocks.SLIME_BLOCK).strength(2));
MinecraftForge.EVENT_BUS.register(new Events()); NeoForge.EVENT_BUS.register(new Events());
} }
@Override @Override

View file

@ -8,8 +8,8 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockSnowCreator extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockSnowCreator extends BlockContainerImpl implements IVisualizable, ICustomBlockState {

View file

@ -20,12 +20,12 @@ import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.MobSpawnEvent; import net.neoforged.neoforge.event.entity.living.MobSpawnEvent;
import net.minecraftforge.eventbus.api.Event; import net.neoforged.bus.api.Event;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable, ICustomBlockState { public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable, ICustomBlockState {
@ -33,7 +33,7 @@ public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable,
public BlockSpawnLamp() { public BlockSpawnLamp() {
super("spawn_lamp", BlockEntitySpawnLamp.class, Properties.of().strength(3F).lightLevel(s -> 15).sound(SoundType.METAL)); super("spawn_lamp", BlockEntitySpawnLamp.class, Properties.of().strength(3F).lightLevel(s -> 15).sound(SoundType.METAL));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@Override @Override

View file

@ -19,8 +19,8 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.BucketPickup; import net.minecraft.world.level.block.BucketPickup;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Fluids;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import java.util.Optional; import java.util.Optional;

View file

@ -24,9 +24,9 @@ import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.level.SaplingGrowTreeEvent; import net.neoforged.neoforge.event.level.SaplingGrowTreeEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import org.apache.commons.lang3.mutable.MutableObject; import org.apache.commons.lang3.mutable.MutableObject;
import java.util.ArrayList; import java.util.ArrayList;
@ -39,7 +39,7 @@ public class BlockWoodStand extends BlockContainerImpl implements ITESRProvider<
public BlockWoodStand() { public BlockWoodStand() {
super("wood_stand", BlockEntityWoodStand.class, Properties.of().strength(1.5F).sound(SoundType.WOOD)); super("wood_stand", BlockEntityWoodStand.class, Properties.of().strength(1.5F).sound(SoundType.WOOD));
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@Override @Override

View file

@ -12,7 +12,7 @@ import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import java.util.Map; import java.util.Map;

View file

@ -10,9 +10,9 @@ import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.Recipe;
import net.minecraft.world.level.block.entity.BlastFurnaceBlockEntity; import net.minecraft.world.level.block.entity.BlastFurnaceBlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.Tags; import net.neoforged.neoforge.common.Tags;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.List; import java.util.List;
@ -85,7 +85,7 @@ public class BlockEntityBlastFurnaceBooster extends BlockEntityImpl implements I
var below = this.level.getBlockEntity(this.worldPosition.below()); var below = this.level.getBlockEntity(this.worldPosition.below());
if (!(below instanceof BlastFurnaceBlockEntity)) if (!(below instanceof BlastFurnaceBlockEntity))
return null; return null;
var handler = below.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.UP).orElse(null); var handler = below.getCapability(Capabilities.ITEM_HANDLER, Direction.UP).orElse(null);
if (handler == null) if (handler == null)
return null; return null;
return new IItemHandlerModifiable() { return new IItemHandlerModifiable() {

View file

@ -16,7 +16,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;

View file

@ -17,9 +17,9 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.common.util.FakePlayerFactory; import net.neoforged.neoforge.common.util.FakePlayerFactory;
import net.minecraftforge.event.level.BlockEvent; import net.neoforged.neoforge.event.level.BlockEvent;
public class BlockEntityFieldCreator extends BlockEntityImpl implements ITickableBlockEntity { public class BlockEntityFieldCreator extends BlockEntityImpl implements ITickableBlockEntity {
@ -108,7 +108,7 @@ public class BlockEntityFieldCreator extends BlockEntityImpl implements ITickabl
var state = this.level.getBlockState(pos); var state = this.level.getBlockState(pos);
if (!state.isAir() && state.getDestroySpeed(this.level, pos) >= 0F) { if (!state.isAir() && state.getDestroySpeed(this.level, pos) >= 0F) {
var fake = FakePlayerFactory.getMinecraft((ServerLevel) this.level); var fake = FakePlayerFactory.getMinecraft((ServerLevel) this.level);
if (!MinecraftForge.EVENT_BUS.post(new BlockEvent.BreakEvent(this.level, pos, state, fake))) { if (!NeoForge.EVENT_BUS.post(new BlockEvent.BreakEvent(this.level, pos, state, fake))) {
var drops = state.getDrops(new LootParams.Builder((ServerLevel) this.level) var drops = state.getDrops(new LootParams.Builder((ServerLevel) this.level)
.withParameter(LootContextParams.THIS_ENTITY, fake) .withParameter(LootContextParams.THIS_ENTITY, fake)
.withParameter(LootContextParams.ORIGIN, Vec3.atCenterOf(pos)) .withParameter(LootContextParams.ORIGIN, Vec3.atCenterOf(pos))

View file

@ -12,7 +12,7 @@ import net.minecraft.nbt.ListTag;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags; import net.minecraft.tags.BlockTags;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.mutable.MutableInt;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -18,7 +18,7 @@ import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.world.level.block.entity.BlastFurnaceBlockEntity; import net.minecraft.world.level.block.entity.BlastFurnaceBlockEntity;
import net.minecraft.world.level.block.entity.SmokerBlockEntity; import net.minecraft.world.level.block.entity.SmokerBlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.fml.util.ObfuscationReflectionHelper; import net.neoforged.fml.util.ObfuscationReflectionHelper;
import java.lang.reflect.Field; import java.lang.reflect.Field;

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.blocks.tiles;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockEntityGeneratorLimitRemover extends BlockEntityImpl { public class BlockEntityGeneratorLimitRemover extends BlockEntityImpl {

View file

@ -9,8 +9,8 @@ import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
public class BlockEntityGratedChute extends BlockEntityImpl implements ITickableBlockEntity { public class BlockEntityGratedChute extends BlockEntityImpl implements ITickableBlockEntity {
@ -48,7 +48,7 @@ public class BlockEntityGratedChute extends BlockEntityImpl implements ITickable
var tile = this.level.getBlockEntity(this.worldPosition.relative(facing)); var tile = this.level.getBlockEntity(this.worldPosition.relative(facing));
if (tile == null) if (tile == null)
break push; break push;
var handler = tile.getCapability(ForgeCapabilities.ITEM_HANDLER, facing.getOpposite()).orElse(null); var handler = tile.getCapability(Capabilities.ITEM_HANDLER, facing.getOpposite()).orElse(null);
if (handler == null) if (handler == null)
break push; break push;
for (var i = 0; i < handler.getSlots(); i++) { for (var i = 0; i < handler.getSlots(); i++) {
@ -87,7 +87,7 @@ public class BlockEntityGratedChute extends BlockEntityImpl implements ITickable
var tileUp = this.level.getBlockEntity(this.worldPosition.above()); var tileUp = this.level.getBlockEntity(this.worldPosition.above());
if (tileUp == null) if (tileUp == null)
break pull; break pull;
var handlerUp = tileUp.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.DOWN).orElse(null); var handlerUp = tileUp.getCapability(Capabilities.ITEM_HANDLER, Direction.DOWN).orElse(null);
if (handlerUp == null) if (handlerUp == null)
break pull; break pull;
for (var i = 0; i < handlerUp.getSlots(); i++) { for (var i = 0; i < handlerUp.getSlots(); i++) {

View file

@ -12,7 +12,7 @@ import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.HopperBlockEntity; import net.minecraft.world.level.block.entity.HopperBlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
public class BlockEntityHopperUpgrade extends BlockEntityImpl implements ITickableBlockEntity { public class BlockEntityHopperUpgrade extends BlockEntityImpl implements ITickableBlockEntity {
@ -36,7 +36,7 @@ public class BlockEntityHopperUpgrade extends BlockEntityImpl implements ITickab
var tile = this.level.getBlockEntity(this.worldPosition.below()); var tile = this.level.getBlockEntity(this.worldPosition.below());
if (!BlockEntityHopperUpgrade.isValidHopper(tile)) if (!BlockEntityHopperUpgrade.isValidHopper(tile))
return; return;
var handler = tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.UP).orElse(null); var handler = tile.getCapability(Capabilities.ITEM_HANDLER, Direction.UP).orElse(null);
if (handler == null) if (handler == null)
return; return;

View file

@ -16,11 +16,11 @@ import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.util.LazyOptional;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.common.capabilities.Capability;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -108,7 +108,7 @@ public class BlockEntityImpl extends BlockEntity {
@Nullable @Nullable
@Override @Override
public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing) { public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing) {
if (capability == ForgeCapabilities.ITEM_HANDLER) { if (capability == Capabilities.ITEM_HANDLER) {
if (this.itemHandler == null) { if (this.itemHandler == null) {
IItemHandler handler = this.getItemHandler(); IItemHandler handler = this.getItemHandler();
this.itemHandler = handler == null ? LazyOptional.empty() : LazyOptional.of(() -> handler); this.itemHandler = handler == null ? LazyOptional.empty() : LazyOptional.of(() -> handler);

View file

@ -5,8 +5,8 @@ import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandler;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -57,7 +57,7 @@ public class BlockEntityItemDistributor extends BlockEntityImpl implements ITick
var tile = this.level.getBlockEntity(offset); var tile = this.level.getBlockEntity(offset);
if (tile == null) if (tile == null)
return null; return null;
return tile.getCapability(ForgeCapabilities.ITEM_HANDLER, direction.getOpposite()).orElse(null); return tile.getCapability(Capabilities.ITEM_HANDLER, direction.getOpposite()).orElse(null);
} }
private IItemHandler getNextSide() { private IItemHandler getNextSide() {

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.blocks.tiles;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class BlockEntityLowerLimiter extends BlockEntityImpl { public class BlockEntityLowerLimiter extends BlockEntityImpl {

View file

@ -20,10 +20,10 @@ import net.minecraft.util.Mth;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler; import net.neoforged.neoforge.items.ItemStackHandler;
public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickableBlockEntity { public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickableBlockEntity {

View file

@ -17,8 +17,8 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler; import net.neoforged.neoforge.items.ItemStackHandler;
import java.util.ArrayDeque; import java.util.ArrayDeque;
import java.util.Queue; import java.util.Queue;

View file

@ -16,9 +16,9 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.ForgeHooks; import net.neoforged.neoforge.common.CommonHooks;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.util.FakePlayerFactory;
import net.minecraftforge.common.util.FakePlayerFactory; import net.neoforged.neoforge.common.capabilities.Capabilities;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -37,7 +37,7 @@ public class BlockEntityPlacer extends BlockEntityImpl implements ITickableBlock
var tileUp = this.level.getBlockEntity(this.worldPosition.above()); var tileUp = this.level.getBlockEntity(this.worldPosition.above());
if (tileUp == null) if (tileUp == null)
return; return;
var handler = tileUp.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.DOWN).orElse(null); var handler = tileUp.getCapability(Capabilities.ITEM_HANDLER, Direction.DOWN).orElse(null);
if (handler == null) if (handler == null)
return; return;
var frames = Helper.getAttachedItemFrames(this.level, this.worldPosition); var frames = Helper.getAttachedItemFrames(this.level, this.worldPosition);
@ -115,7 +115,7 @@ public class BlockEntityPlacer extends BlockEntityImpl implements ITickableBlock
var fake = FakePlayerFactory.getMinecraft((ServerLevel) this.level); var fake = FakePlayerFactory.getMinecraft((ServerLevel) this.level);
fake.getInventory().items.set(fake.getInventory().selected, stack); fake.getInventory().items.set(fake.getInventory().selected, stack);
var ray = new BlockHitResult(Vec3.atCenterOf(pos), Direction.UP, pos, false); var ray = new BlockHitResult(Vec3.atCenterOf(pos), Direction.UP, pos, false);
ForgeHooks.onPlaceItemIntoWorld(new UseOnContext(fake, InteractionHand.MAIN_HAND, ray)); CommonHooks.onPlaceItemIntoWorld(new UseOnContext(fake, InteractionHand.MAIN_HAND, ray));
return fake.getMainHandItem().copy(); return fake.getMainHandItem().copy();
} }
} }

View file

@ -7,7 +7,7 @@ import net.minecraft.core.Direction;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
public class BlockEntityPowderPlacer extends BlockEntityImpl { public class BlockEntityPowderPlacer extends BlockEntityImpl {
@ -25,7 +25,7 @@ public class BlockEntityPowderPlacer extends BlockEntityImpl {
var tile = this.level.getBlockEntity(this.worldPosition.relative(facing)); var tile = this.level.getBlockEntity(this.worldPosition.relative(facing));
if (tile == null) if (tile == null)
continue; continue;
var handler = tile.getCapability(ForgeCapabilities.ITEM_HANDLER, facing.getOpposite()).orElse(null); var handler = tile.getCapability(Capabilities.ITEM_HANDLER, facing.getOpposite()).orElse(null);
if (handler == null) if (handler == null)
continue; continue;

View file

@ -10,11 +10,11 @@ import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.common.util.LazyOptional;
import net.minecraftforge.energy.EnergyStorage; import net.neoforged.neoforge.energy.EnergyStorage;
import net.minecraftforge.energy.IEnergyStorage; import net.neoforged.neoforge.energy.IEnergyStorage;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -52,7 +52,7 @@ public class BlockEntityRFConverter extends BlockEntityImpl implements ITickable
var tile = this.level.getBlockEntity(this.worldPosition.relative(facing)); var tile = this.level.getBlockEntity(this.worldPosition.relative(facing));
if (tile == null) if (tile == null)
continue; continue;
var storage = tile.getCapability(ForgeCapabilities.ENERGY, facing.getOpposite()).orElse(null); var storage = tile.getCapability(Capabilities.ENERGY, facing.getOpposite()).orElse(null);
if (storage == null) if (storage == null)
continue; continue;
var canStore = storage.receiveEnergy(Integer.MAX_VALUE, true); var canStore = storage.receiveEnergy(Integer.MAX_VALUE, true);
@ -91,7 +91,7 @@ public class BlockEntityRFConverter extends BlockEntityImpl implements ITickable
@Nullable @Nullable
@Override @Override
public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing) { public <T> LazyOptional<T> getCapability(Capability<T> capability, @Nullable Direction facing) {
if (capability == ForgeCapabilities.ENERGY) if (capability == Capabilities.ENERGY)
return this.storageOptional.cast(); return this.storageOptional.cast();
else else
return super.getCapability(capability, facing); return super.getCapability(capability, facing);

View file

@ -13,15 +13,15 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Fluids;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.FarmlandWaterManager; import net.neoforged.neoforge.common.FarmlandWaterManager;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.common.ticket.AABBTicket; import net.neoforged.neoforge.common.ticket.AABBTicket;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.event.EventHooks;
import net.minecraftforge.event.ForgeEventFactory; import net.neoforged.neoforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.IFluidTank;
import net.minecraftforge.fluids.IFluidTank; import net.neoforged.neoforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler; import net.neoforged.neoforge.common.util.LazyOptional;
public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlockEntity { public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlockEntity {
@ -89,7 +89,7 @@ public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlock
for (var dir : Direction.Plane.HORIZONTAL) { for (var dir : Direction.Plane.HORIZONTAL) {
var side = this.worldPosition.relative(dir); var side = this.worldPosition.relative(dir);
if (this.isLava(side, true) && this.tryConsumeAura(1500)) { if (this.isLava(side, true) && this.tryConsumeAura(1500)) {
this.level.setBlockAndUpdate(side, ForgeEventFactory.fireFluidPlaceBlockEvent(this.level, side, side, Blocks.OBSIDIAN.defaultBlockState())); this.level.setBlockAndUpdate(side, EventHooks.fireFluidPlaceBlockEvent(this.level, side, side, Blocks.OBSIDIAN.defaultBlockState()));
this.level.levelEvent(1501, side, 0); this.level.levelEvent(1501, side, 0);
return; return;
} }
@ -98,7 +98,7 @@ public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlock
// generate stone // generate stone
var twoUp = this.worldPosition.above(2); var twoUp = this.worldPosition.above(2);
if (this.isLava(twoUp, false) && (this.level.getBlockState(up).isAir() || this.isLava(up, false)) && this.tryConsumeAura(150)) { if (this.isLava(twoUp, false) && (this.level.getBlockState(up).isAir() || this.isLava(up, false)) && this.tryConsumeAura(150)) {
this.level.setBlockAndUpdate(up, ForgeEventFactory.fireFluidPlaceBlockEvent(this.level, up, twoUp, Blocks.STONE.defaultBlockState())); this.level.setBlockAndUpdate(up, EventHooks.fireFluidPlaceBlockEvent(this.level, up, twoUp, Blocks.STONE.defaultBlockState()));
this.level.levelEvent(1501, up, 0); this.level.levelEvent(1501, up, 0);
return; return;
} }
@ -108,7 +108,7 @@ public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlock
var twoSide = this.worldPosition.relative(dir, 2); var twoSide = this.worldPosition.relative(dir, 2);
var side = this.worldPosition.relative(dir); var side = this.worldPosition.relative(dir);
if (this.isLava(twoSide, false) && (this.level.getBlockState(side).isAir() || this.isLava(side, false)) && this.tryConsumeAura(100)) { if (this.isLava(twoSide, false) && (this.level.getBlockState(side).isAir() || this.isLava(side, false)) && this.tryConsumeAura(100)) {
this.level.setBlockAndUpdate(side, ForgeEventFactory.fireFluidPlaceBlockEvent(this.level, side, twoSide, Blocks.COBBLESTONE.defaultBlockState())); this.level.setBlockAndUpdate(side, EventHooks.fireFluidPlaceBlockEvent(this.level, side, twoSide, Blocks.COBBLESTONE.defaultBlockState()));
this.level.levelEvent(1501, side, 0); this.level.levelEvent(1501, side, 0);
return; return;
} }
@ -117,7 +117,7 @@ public class BlockEntitySpring extends BlockEntityImpl implements ITickableBlock
@Override @Override
public <T> LazyOptional<T> getCapability(Capability<T> capability, Direction facing) { public <T> LazyOptional<T> getCapability(Capability<T> capability, Direction facing) {
if (capability == ForgeCapabilities.FLUID_HANDLER) if (capability == Capabilities.FLUID_HANDLER)
return this.tank.cast(); return this.tank.cast();
return LazyOptional.empty(); return LazyOptional.empty();
} }

View file

@ -15,12 +15,11 @@ import net.minecraft.tags.BlockTags;
import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.LeavesBlock; import net.minecraft.world.level.block.LeavesBlock;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler; import net.neoforged.neoforge.items.ItemStackHandler;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;

View file

@ -1,7 +1,7 @@
package de.ellpeck.naturesaura.blocks.tiles; package de.ellpeck.naturesaura.blocks.tiles;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.items.ItemStackHandler; import net.neoforged.neoforge.items.ItemStackHandler;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;

View file

@ -7,8 +7,8 @@ import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import org.joml.Matrix4f; import org.joml.Matrix4f;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)

View file

@ -17,8 +17,8 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class RenderGeneratorLimitRemover implements BlockEntityRenderer<BlockEntityGeneratorLimitRemover> { public class RenderGeneratorLimitRemover implements BlockEntityRenderer<BlockEntityGeneratorLimitRemover> {

View file

@ -9,8 +9,8 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import static de.ellpeck.naturesaura.blocks.tiles.render.RenderGeneratorLimitRemover.ModelLimitRemoverGlint; import static de.ellpeck.naturesaura.blocks.tiles.render.RenderGeneratorLimitRemover.ModelLimitRemoverGlint;

View file

@ -17,8 +17,8 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class RenderProjectileGenerator implements BlockEntityRenderer<BlockEntityProjectileGenerator> { public class RenderProjectileGenerator implements BlockEntityRenderer<BlockEntityProjectileGenerator> {

View file

@ -6,10 +6,10 @@ import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.common.util.INBTSerializable; import net.neoforged.neoforge.common.util.INBTSerializable;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.common.util.LazyOptional;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;

View file

@ -16,6 +16,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.Heightmap;
import net.neoforged.neoforge.event.EventHooks;
public class ExplosionEffect implements IDrainSpotEffect { public class ExplosionEffect implements IDrainSpotEffect {
@ -66,7 +67,7 @@ public class ExplosionEffect implements IDrainSpotEffect {
var chosenPos = new BlockPos(x, level.getHeight(Heightmap.Types.WORLD_SURFACE, x, z), z); var chosenPos = new BlockPos(x, level.getHeight(Heightmap.Types.WORLD_SURFACE, x, z), z);
if (chosenPos.distSqr(pos) <= this.dist * this.dist && level.isLoaded(chosenPos)) { if (chosenPos.distSqr(pos) <= this.dist * this.dist && level.isLoaded(chosenPos)) {
var explosion = new Explosion(level, null, chosenPos.getX() + 0.5, chosenPos.getY() + 0.5, chosenPos.getZ() + 0.5, this.strength, false, Explosion.BlockInteraction.DESTROY); var explosion = new Explosion(level, null, chosenPos.getX() + 0.5, chosenPos.getY() + 0.5, chosenPos.getZ() + 0.5, this.strength, false, Explosion.BlockInteraction.DESTROY);
if (!net.minecraftforge.event.ForgeEventFactory.onExplosionStart(level, explosion)) { if (!EventHooks.onExplosionStart(level, explosion)) {
explosion.explode(); explosion.explode();
explosion.finalizeExplosion(true); explosion.finalizeExplosion(true);
} }

View file

@ -18,7 +18,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraftforge.common.Tags; import net.neoforged.neoforge.common.Tags;
public class NetherGrassEffect implements IDrainSpotEffect { public class NetherGrassEffect implements IDrainSpotEffect {

View file

@ -28,8 +28,8 @@ import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.util.FakePlayerFactory; import net.neoforged.neoforge.common.util.FakePlayerFactory;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;

View file

@ -4,8 +4,8 @@ import com.google.common.collect.ImmutableMap;
import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat; import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat;
import de.ellpeck.naturesaura.data.ItemTagProvider; import de.ellpeck.naturesaura.data.ItemTagProvider;
import net.minecraftforge.fml.ModList; import net.neoforged.fml.ModList;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View file

@ -9,15 +9,15 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags; import net.minecraft.tags.ItemTags;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.fml.InterModComms;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.event.AttachCapabilitiesEvent; import net.neoforged.fml.event.lifecycle.InterModEnqueueEvent;
import net.minecraftforge.fml.InterModComms; import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.neoforged.neoforge.common.util.LazyOptional;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.neoforged.neoforge.event.AttachCapabilitiesEvent;
import top.theillusivec4.curios.api.CuriosCapability; import top.theillusivec4.curios.api.CuriosCapability;
import top.theillusivec4.curios.api.SlotContext; import top.theillusivec4.curios.api.SlotContext;
import top.theillusivec4.curios.api.SlotTypeMessage; import top.theillusivec4.curios.api.SlotTypeMessage;
@ -41,7 +41,7 @@ public class CuriosCompat implements ICompat {
@Override @Override
public void setup(FMLCommonSetupEvent event) { public void setup(FMLCommonSetupEvent event) {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::sendImc); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::sendImc);
MinecraftForge.EVENT_BUS.addGenericListener(ItemStack.class, this::onCapabilitiesAttach); NeoForge.EVENT_BUS.addGenericListener(ItemStack.class, this::onCapabilitiesAttach);
} }
@Override @Override

View file

@ -1,7 +1,7 @@
package de.ellpeck.naturesaura.compat; package de.ellpeck.naturesaura.compat;
import de.ellpeck.naturesaura.data.ItemTagProvider; import de.ellpeck.naturesaura.data.ItemTagProvider;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
public interface ICompat { public interface ICompat {

View file

@ -23,7 +23,7 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.ForgeSpawnEggItem; import net.neoforged.neoforge.common.DeferredSpawnEggItem;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -105,7 +105,7 @@ public class AnimalSpawnerCategory implements IRecipeCategory<AnimalSpawnerRecip
public void setRecipe(IRecipeLayoutBuilder builder, AnimalSpawnerRecipe recipe, IFocusGroup focuses) { public void setRecipe(IRecipeLayoutBuilder builder, AnimalSpawnerRecipe recipe, IFocusGroup focuses) {
for (var i = 0; i < recipe.ingredients.length; i++) for (var i = 0; i < recipe.ingredients.length; i++)
builder.addSlot(RecipeIngredientRole.INPUT, i * 18 + 1, 69).addItemStacks(Arrays.asList(recipe.ingredients[i].getItems())); builder.addSlot(RecipeIngredientRole.INPUT, i * 18 + 1, 69).addItemStacks(Arrays.asList(recipe.ingredients[i].getItems()));
builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).addItemStack(new ItemStack(ForgeSpawnEggItem.fromEntityType(recipe.entity))); builder.addInvisibleIngredients(RecipeIngredientRole.OUTPUT).addItemStack(new ItemStack(DeferredSpawnEggItem.fromEntityType(recipe.entity)));
} }
@Override @Override

View file

@ -15,11 +15,11 @@ import net.minecraft.network.chat.Style;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.Recipe;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import vazkii.patchouli.api.BookDrawScreenEvent; import vazkii.patchouli.api.BookDrawScreenEvent;
import vazkii.patchouli.api.IMultiblock; import vazkii.patchouli.api.IMultiblock;
import vazkii.patchouli.api.IVariable; import vazkii.patchouli.api.IVariable;
@ -75,7 +75,7 @@ public class PatchouliCompat implements ICompat {
@Override @Override
public void setupClient() { public void setupClient() {
MinecraftForge.EVENT_BUS.register(this); NeoForge.EVENT_BUS.register(this);
} }
@Override @Override

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.compat.patchouli;
import de.ellpeck.naturesaura.recipes.AnimalSpawnerRecipe; import de.ellpeck.naturesaura.recipes.AnimalSpawnerRecipe;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.common.ForgeSpawnEggItem; import net.neoforged.neoforge.common.DeferredSpawnEggItem;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import vazkii.patchouli.api.IComponentProcessor; import vazkii.patchouli.api.IComponentProcessor;
import vazkii.patchouli.api.IVariable; import vazkii.patchouli.api.IVariable;
import vazkii.patchouli.api.IVariableProvider; import vazkii.patchouli.api.IVariableProvider;
@ -29,7 +29,7 @@ public class ProcessorAnimalSpawner implements IComponentProcessor {
return switch (key) { return switch (key) {
case "name" -> IVariable.wrap(this.recipe.entity.getDescription().getString()); case "name" -> IVariable.wrap(this.recipe.entity.getDescription().getString());
case "entity" -> IVariable.wrap(ForgeRegistries.ENTITY_TYPES.getKey(this.recipe.entity).toString()); case "entity" -> IVariable.wrap(ForgeRegistries.ENTITY_TYPES.getKey(this.recipe.entity).toString());
case "egg" -> IVariable.from(new ItemStack(ForgeSpawnEggItem.fromEntityType(this.recipe.entity))); case "egg" -> IVariable.from(new ItemStack(DeferredSpawnEggItem.fromEntityType(this.recipe.entity)));
default -> null; default -> null;
}; };
} }

View file

@ -12,10 +12,9 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.minecraft.world.level.levelgen.placement.PlacedFeature;
import net.minecraftforge.common.Tags; import net.neoforged.neoforge.common.Tags;
import net.minecraftforge.common.world.BiomeModifier; import net.neoforged.neoforge.common.world.BiomeModifier;
import net.minecraftforge.common.world.ForgeBiomeModifiers; import net.neoforged.neoforge.registries.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistries;
public class BiomeModifiers { public class BiomeModifiers {
public static ResourceKey<BiomeModifier> AURA_BLOOM = createKey("aura_bloom"); public static ResourceKey<BiomeModifier> AURA_BLOOM = createKey("aura_bloom");
@ -32,27 +31,27 @@ public class BiomeModifiers {
HolderGetter<Biome> biomeGetter = context.lookup(Registries.BIOME); HolderGetter<Biome> biomeGetter = context.lookup(Registries.BIOME);
HolderGetter<PlacedFeature> placedGetter = context.lookup(Registries.PLACED_FEATURE); HolderGetter<PlacedFeature> placedGetter = context.lookup(Registries.PLACED_FEATURE);
context.register(AURA_BLOOM, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( context.register(AURA_BLOOM, new net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
biomeGetter.getOrThrow(BiomeTags.IS_OVERWORLD), biomeGetter.getOrThrow(BiomeTags.IS_OVERWORLD),
HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_BLOOM)), HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_BLOOM)),
GenerationStep.Decoration.VEGETAL_DECORATION)); GenerationStep.Decoration.VEGETAL_DECORATION));
context.register(AURA_CACTUS, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( context.register(AURA_CACTUS, new net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
biomeGetter.getOrThrow(Tags.Biomes.IS_SANDY), biomeGetter.getOrThrow(Tags.Biomes.IS_SANDY),
HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_CACTUS)), HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_CACTUS)),
GenerationStep.Decoration.VEGETAL_DECORATION)); GenerationStep.Decoration.VEGETAL_DECORATION));
context.register(AURA_MUSHROOM, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( context.register(AURA_MUSHROOM, new net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
biomeGetter.getOrThrow(Tags.Biomes.IS_MUSHROOM), biomeGetter.getOrThrow(Tags.Biomes.IS_MUSHROOM),
HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_MUSHROOM)), HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.AURA_MUSHROOM)),
GenerationStep.Decoration.VEGETAL_DECORATION)); GenerationStep.Decoration.VEGETAL_DECORATION));
context.register(CRIMSON_AURA_MUSHROOM, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( context.register(CRIMSON_AURA_MUSHROOM, new net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
biomeGetter.getOrThrow(BiomeTags.IS_NETHER), biomeGetter.getOrThrow(BiomeTags.IS_NETHER),
HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.CRIMSON_AURA_MUSHROOM)), HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.CRIMSON_AURA_MUSHROOM)),
GenerationStep.Decoration.VEGETAL_DECORATION)); GenerationStep.Decoration.VEGETAL_DECORATION));
context.register(WARPED_AURA_MUSHROOM, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( context.register(WARPED_AURA_MUSHROOM, new net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
biomeGetter.getOrThrow(BiomeTags.IS_NETHER), biomeGetter.getOrThrow(BiomeTags.IS_NETHER),
HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.WARPED_AURA_MUSHROOM)), HolderSet.direct(placedGetter.getOrThrow(ModFeatures.Placed.WARPED_AURA_MUSHROOM)),
GenerationStep.Decoration.VEGETAL_DECORATION)); GenerationStep.Decoration.VEGETAL_DECORATION));

View file

@ -5,8 +5,8 @@ import de.ellpeck.naturesaura.reg.ICustomBlockState;
import de.ellpeck.naturesaura.reg.ModRegistry; import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.BlockStateProvider; import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
public class BlockStateGenerator extends BlockStateProvider { public class BlockStateGenerator extends BlockStateProvider {

View file

@ -2,8 +2,6 @@ package de.ellpeck.naturesaura.data;
import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.blocks.ModBlocks; import de.ellpeck.naturesaura.blocks.ModBlocks;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.core.HolderLookup; import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@ -11,11 +9,10 @@ import net.minecraft.tags.BlockTags;
import net.minecraft.tags.TagKey; import net.minecraft.tags.TagKey;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.common.data.BlockTagsProvider; import net.neoforged.neoforge.common.data.BlockTagsProvider;
import net.minecraftforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.Comparator;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class BlockTagProvider extends BlockTagsProvider { public class BlockTagProvider extends BlockTagsProvider {

View file

@ -7,8 +7,8 @@ import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.ItemModelProvider; import net.neoforged.neoforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
public class ItemModelGenerator extends ItemModelProvider { public class ItemModelGenerator extends ItemModelProvider {

View file

@ -15,8 +15,8 @@ import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey; import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraftforge.common.Tags; import net.neoforged.neoforge.common.Tags;
import net.minecraftforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
import java.util.Comparator; import java.util.Comparator;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;

View file

@ -10,11 +10,11 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.data.loot.LootTableProvider; import net.minecraft.data.loot.LootTableProvider;
import net.minecraft.data.registries.VanillaRegistries; import net.minecraft.data.registries.VanillaRegistries;
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider;
import net.minecraftforge.data.event.GatherDataEvent; import net.neoforged.neoforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;

View file

@ -23,9 +23,9 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks; import net.neoforged.neoforge.network.NetworkHooks;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class EntityEffectInhibitor extends Entity implements IVisualizable { public class EntityEffectInhibitor extends Entity implements IVisualizable {

View file

@ -11,7 +11,6 @@ import net.minecraft.nbt.LongTag;
import net.minecraft.nbt.Tag; import net.minecraft.nbt.Tag;
import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -27,8 +26,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.HitResult;
import net.minecraftforge.common.util.ITeleporter; import net.neoforged.neoforge.common.util.ITeleporter;
import net.minecraftforge.network.NetworkHooks; import net.neoforged.neoforge.network.NetworkHooks;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -7,7 +7,6 @@ import de.ellpeck.naturesaura.items.ItemEffectPowder;
import de.ellpeck.naturesaura.items.ModItems; import de.ellpeck.naturesaura.items.ModItems;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
@ -15,8 +14,8 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.inventory.InventoryMenu;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View file

@ -38,16 +38,16 @@ import net.minecraft.world.level.block.BonemealableBlock;
import net.minecraft.world.level.block.LeavesBlock; import net.minecraft.world.level.block.LeavesBlock;
import net.minecraft.world.level.block.MyceliumBlock; import net.minecraft.world.level.block.MyceliumBlock;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.CustomizeGuiOverlayEvent; import net.neoforged.neoforge.client.event.CustomizeGuiOverlayEvent;
import net.minecraftforge.client.event.RenderGuiOverlayEvent; import net.neoforged.neoforge.client.event.RenderGuiOverlayEvent;
import net.minecraftforge.client.event.RenderLevelStageEvent; import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.neoforged.neoforge.client.gui.overlay.VanillaGuiOverlay;
import net.minecraftforge.common.IPlantable; import net.neoforged.neoforge.common.IPlantable;
import net.minecraftforge.energy.EnergyStorage; import net.neoforged.neoforge.energy.EnergyStorage;
import net.minecraftforge.event.TickEvent; import net.neoforged.neoforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.mutable.MutableInt;
import java.text.NumberFormat; import java.text.NumberFormat;

View file

@ -20,15 +20,15 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraftforge.event.AttachCapabilitiesEvent; import net.neoforged.neoforge.event.TickEvent;
import net.minecraftforge.event.RegisterCommandsEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.TickEvent; import net.neoforged.neoforge.event.level.ChunkEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.level.ChunkWatchEvent;
import net.minecraftforge.event.level.ChunkEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.event.level.ChunkWatchEvent; import net.neoforged.fml.util.ObfuscationReflectionHelper;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.neoforge.registries.ForgeRegistries;
import net.minecraftforge.fml.util.ObfuscationReflectionHelper; import net.neoforged.neoforge.event.AttachCapabilitiesEvent;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.event.RegisterCommandsEvent;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;

View file

@ -5,8 +5,8 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.inventory.Slot; import net.minecraft.world.inventory.Slot;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler; import net.neoforged.neoforge.items.SlotItemHandler;
public class ContainerEnderCrate extends AbstractContainerMenu { public class ContainerEnderCrate extends AbstractContainerMenu {

View file

@ -5,8 +5,8 @@ import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Inventory;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class GuiEnderCrate extends AbstractContainerScreen<ContainerEnderCrate> { public class GuiEnderCrate extends AbstractContainerScreen<ContainerEnderCrate> {

View file

@ -21,11 +21,11 @@ import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.DispenserBlock; import net.minecraft.world.level.block.DispenserBlock;
import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.HitResult;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import java.util.List; import java.util.List;
@ -33,7 +33,7 @@ public class ItemAuraBottle extends ItemImpl implements IColorProvidingItem, ICu
public ItemAuraBottle(Item emptyBottle) { public ItemAuraBottle(Item emptyBottle) {
super("aura_bottle"); super("aura_bottle");
MinecraftForge.EVENT_BUS.register(new EventHandler()); NeoForge.EVENT_BUS.register(new EventHandler());
DispenserBlock.registerBehavior(emptyBottle, (source, stack) -> { DispenserBlock.registerBehavior(emptyBottle, (source, stack) -> {
Level level = source.getLevel(); Level level = source.getLevel();

View file

@ -19,11 +19,11 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability; import net.neoforged.neoforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.common.util.LazyOptional; import net.neoforged.neoforge.common.util.LazyOptional;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;

View file

@ -4,15 +4,15 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.BabyEntitySpawnEvent; import net.neoforged.neoforge.event.entity.living.BabyEntitySpawnEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class ItemBirthSpirit extends ItemGlowing { public class ItemBirthSpirit extends ItemGlowing {
public ItemBirthSpirit() { public ItemBirthSpirit() {
super("birth_spirit"); super("birth_spirit");
MinecraftForge.EVENT_BUS.register(new EventHandler()); NeoForge.EVENT_BUS.register(new EventHandler());
} }
private static class EventHandler { private static class EventHandler {

View file

@ -6,19 +6,19 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.Style; import net.minecraft.network.chat.Style;
import net.minecraft.world.item.ElytraItem; import net.minecraft.world.item.ElytraItem;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.AnvilUpdateEvent; import net.neoforged.neoforge.event.AnvilUpdateEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.neoforged.neoforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class ItemBreakPrevention extends ItemImpl { public class ItemBreakPrevention extends ItemImpl {
public ItemBreakPrevention() { public ItemBreakPrevention() {
super("break_prevention"); super("break_prevention");
MinecraftForge.EVENT_BUS.register(new Events()); NeoForge.EVENT_BUS.register(new Events());
} }
public static class Events { public static class Events {

View file

@ -18,8 +18,8 @@ import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class ItemColorChanger extends ItemImpl implements IColorProvidingItem, ICustomItemModel { public class ItemColorChanger extends ItemImpl implements IColorProvidingItem, ICustomItemModel {

View file

@ -7,15 +7,15 @@ import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects; import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class ItemDeathRing extends ItemImpl { public class ItemDeathRing extends ItemImpl {
public ItemDeathRing() { public ItemDeathRing() {
super("death_ring", new Properties().stacksTo(1)); super("death_ring", new Properties().stacksTo(1));
MinecraftForge.EVENT_BUS.register(new Events()); NeoForge.EVENT_BUS.register(new Events());
} }
public static class Events { public static class Events {

View file

@ -10,8 +10,8 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResult;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.context.UseOnContext;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import java.util.List; import java.util.List;

View file

@ -20,10 +20,10 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandler;
import net.minecraftforge.network.NetworkHooks; import net.neoforged.neoforge.network.NetworkHooks;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;

View file

@ -10,8 +10,8 @@ import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class ItemEye extends ItemImpl implements ITrinketItem { public class ItemEye extends ItemImpl implements ITrinketItem {

View file

@ -12,8 +12,8 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.SpawnerBlockEntity; import net.minecraft.world.level.block.entity.SpawnerBlockEntity;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.neoforged.neoforge.common.capabilities.Capabilities;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
public class ItemLootFinder extends ItemImpl { public class ItemLootFinder extends ItemImpl {
@ -34,7 +34,7 @@ public class ItemLootFinder extends ItemImpl {
var pos = playerIn.blockPosition(); var pos = playerIn.blockPosition();
Helper.getBlockEntitiesInArea(levelIn, pos, 64, tile -> { Helper.getBlockEntitiesInArea(levelIn, pos, 64, tile -> {
if (tile.getCapability(ForgeCapabilities.ITEM_HANDLER).isPresent() || tile instanceof SpawnerBlockEntity || ForgeRegistries.BLOCK_ENTITY_TYPES.getKey(tile.getType()).getNamespace().equals("lootr")) { if (tile.getCapability(Capabilities.ITEM_HANDLER).isPresent() || tile instanceof SpawnerBlockEntity || ForgeRegistries.BLOCK_ENTITY_TYPES.getKey(tile.getType()).getNamespace().equals("lootr")) {
inst.spawnMagicParticle( inst.spawnMagicParticle(
tile.getBlockPos().getX() + 0.5F, tile.getBlockPos().getY() + 0.5F, tile.getBlockPos().getZ() + 0.5F, tile.getBlockPos().getX() + 0.5F, tile.getBlockPos().getY() + 0.5F, tile.getBlockPos().getZ() + 0.5F,
0F, 0F, 0F, 0xf5f10a, 6F, 20 * 60, 0F, false, true); 0F, 0F, 0F, 0xf5f10a, 6F, 20 * 60, 0F, false, true);
@ -42,7 +42,7 @@ public class ItemLootFinder extends ItemImpl {
return false; return false;
}); });
for (var entity : levelIn.getEntitiesOfClass(Entity.class, new AABB(pos).inflate(64))) { for (var entity : levelIn.getEntitiesOfClass(Entity.class, new AABB(pos).inflate(64))) {
if (!(entity instanceof LivingEntity) && entity.getCapability(ForgeCapabilities.ITEM_HANDLER).isPresent()) { if (!(entity instanceof LivingEntity) && entity.getCapability(Capabilities.ITEM_HANDLER).isPresent()) {
inst.spawnMagicParticle( inst.spawnMagicParticle(
entity.getX(), entity.getEyeY(), entity.getZ(), entity.getX(), entity.getEyeY(), entity.getZ(),
0F, 0F, 0F, 0xf5f10a, 6F, 20 * 60, 0F, false, true); 0F, 0F, 0F, 0xf5f10a, 6F, 20 * 60, 0F, false, true);

View file

@ -9,7 +9,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.registries.ForgeRegistries; import net.neoforged.neoforge.registries.ForgeRegistries;
public class ItemNetheriteFinder extends ItemImpl { public class ItemNetheriteFinder extends ItemImpl {

View file

@ -14,18 +14,18 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.TamableAnimal;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingEvent; import net.neoforged.neoforge.event.entity.living.LivingEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.EventPriority; import net.neoforged.bus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class ItemPetReviver extends ItemImpl { public class ItemPetReviver extends ItemImpl {
public ItemPetReviver() { public ItemPetReviver() {
super("pet_reviver"); super("pet_reviver");
MinecraftForge.EVENT_BUS.register(new Events()); NeoForge.EVENT_BUS.register(new Events());
} }
private static class Events { private static class Events {

View file

@ -15,9 +15,9 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
public class ItemRangeVisualizer extends ItemImpl { public class ItemRangeVisualizer extends ItemImpl {
@ -27,7 +27,7 @@ public class ItemRangeVisualizer extends ItemImpl {
public ItemRangeVisualizer() { public ItemRangeVisualizer() {
super("range_visualizer", new Properties().stacksTo(1)); super("range_visualizer", new Properties().stacksTo(1));
MinecraftForge.EVENT_BUS.register(new EventHandler()); NeoForge.EVENT_BUS.register(new EventHandler());
} }
public static void clear() { public static void clear() {

View file

@ -23,8 +23,8 @@ import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
public class ItemShockwaveCreator extends ItemImpl implements ITrinketItem { public class ItemShockwaveCreator extends ItemImpl implements ITrinketItem {

View file

@ -15,14 +15,13 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.*; import net.minecraft.world.item.*;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.common.NeoForgeMod;
import net.minecraftforge.common.ForgeMod; import net.neoforged.neoforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.neoforged.neoforge.event.TickEvent;
import net.minecraftforge.event.TickEvent; import net.neoforged.neoforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.neoforged.fml.common.Mod;
import net.minecraftforge.fml.common.Mod; import net.neoforged.neoforge.registries.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistries;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.Comparator; import java.util.Comparator;
@ -92,7 +91,7 @@ public class ItemArmor extends ArmorItem implements IModItem {
public static void update(TickEvent.PlayerTickEvent event) { public static void update(TickEvent.PlayerTickEvent event) {
var player = event.player; var player = event.player;
var speed = player.getAttribute(Attributes.MOVEMENT_SPEED); var speed = player.getAttribute(Attributes.MOVEMENT_SPEED);
var step = player.getAttribute(ForgeMod.STEP_HEIGHT_ADDITION.get()); var step = player.getAttribute(NeoForgeMod.STEP_HEIGHT_ADDITION.get());
var key = NaturesAura.MOD_ID + ":sky_equipped"; var key = NaturesAura.MOD_ID + ":sky_equipped";
var nbt = player.getPersistentData(); var nbt = player.getPersistentData();
var equipped = ItemArmor.isFullSetEquipped(player, ModArmorMaterial.SKY); var equipped = ItemArmor.isFullSetEquipped(player, ModArmorMaterial.SKY);

Some files were not shown because too many files have changed in this diff Show more