JuniorModDeveloper Posted February 5, 2024 Posted February 5, 2024 (edited) Hello swarm intelligence, For some context... I have been trying to develop a Minecraft Forge Mod for 1.20.1 (Forge mdk Version 47.2.20) for three weeks now... In theory everything works. Code (at least from my understanding) works, I always get 'BUILD SUCCESFUL IN ... ' when setting up the workspace.. Now I think that's where my problem lies. But I do not know what I am doing wrong. Using what-feels-like every tutorial (including the forge documentation) out there to setup my workspace, the example mod compiles and builds, but as soon as I create a new class (or even change something in the main class; add new code that requires new imports) being told by IntelliJ that Cannot resolve method 'getDistanceSq(PlayerEntity)' [or any other Method, that requires an input] Cannot resolve symbol 'PlayerEntity' etc. or when using Eclipse... PlayerEntity cannot be resolved to a type [and probably related: The import net.minecraft.entity cannot be resolved] world cannot be resolved or is not a field etc. I am starting to question my sanity since I feel like I did everything I could... Yes, I have got a JDK installed (17, added to %PATH% and JAVA_HOME, tried different) Yes, I used .\gradlew --refresh-dependencies (multiple times) I have even setup the same thing on a fresh setup VM... still no success... Now if I am doing a rookie mistake, I'm sorry for wasting your time.. But if you could point me to what I'm doing wrong, or anything that might resolve this I would be so thankful Thanks in advance (Heres the code, if interested) // here was a package declaration, bevore I uploaded this here import net.minecraft.client.Minecraft; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.StringTextComponent; import java.util.List; public class DistanceCalculator { public static double getSumOfDistancesToNearbyPlayers() { // Get the Minecraft instance Minecraft minecraft = Minecraft.getInstance(); // Get the player controlled by the mod PlayerEntity player = minecraft.player; // Get all players in the world List<PlayerEntity> players = minecraft.world.getPlayers(); double sumDistance = 0; // Iterate over all players for (PlayerEntity otherPlayer : players) { // Check if the other player is within 50 blocks range double distance = player.getDistanceSq(otherPlayer); if (distance <= 50 * 50) { // Compare squared distances to avoid expensive square root calculations sumDistance += Math.sqrt(distance); } } return sumDistance; } public static void displaySumOfDistancesToNearbyPlayers() { double sumDistance = getSumOfDistancesToNearbyPlayers(); Minecraft.getInstance().player.sendMessage(new StringTextComponent("Sum of distances to nearby players within 50 blocks: " + sumDistance)); } private double calculateWeight(double distance) { // (2.718^(0.13*distance))-1 double calculatedWeight = -1; calculatedWeight = Math.exp(0.13 * distance) - 1; return calculatedWeight; } } Edited February 14, 2024 by JuniorModDeveloper Edited Title to add [SOLVED Quote
JuniorModDeveloper Posted February 14, 2024 Author Posted February 14, 2024 Solved by first importing it into the IDE, then running genEclipseRuns 1 Quote
Maartin853 Posted February 27, 2024 Posted February 27, 2024 Hi, im having same issue, but it is my time creating mode, can you help out and explain more? Quote
JuniorModDeveloper Posted February 27, 2024 Author Posted February 27, 2024 On 2/27/2024 at 6:50 PM, Maartin853 said: Hi, im having same issue, but it is my time creating mode, can you help out and explain more? Expand Well. Make sure you installed a correct jdk for your forge mdk version. Make sure your JAVA_HOME and %PATH% environment-variables are setup correctly. (If you're on windows) I downloaded an example forge mdk for my version and extracted the contents to a folder I'm working in Using Eclipse, I opened Eclipse and imported an existing gradle Project (with its root directory in the folder directory which I previously extracted my contents to). Waited for Eclipse to do its thing After it having finished, I ran genEclipseRuns, setupDecompWorkspace and setupDevWorkspace (Gradle Tasks > your mod name here > forgegradle) If it still didn't work (and you're using Eclipse) run cleanEclipse and, in a command prompt Quote ./gradlew build --refresh-dependencies Expand Also If I recall correctly, someone, somewhere said that the way you setup your workspace changes depending on your Minecraft Version. I did this in 1.8.9. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.