Jump to content

Recommended Posts

Posted (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 by JuniorModDeveloper
Edited Title to add [SOLVED
  • JuniorModDeveloper changed the title to [SOLVED] Import(s) not resolving / Project setup?
  • 2 weeks later...
Posted
6 minutes ago, Maartin853 said:

Hi, im having same issue, but it is my time creating mode, can you help out and explain more?

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)
 

  1. I downloaded an example forge mdk for my version and extracted the contents to a folder I'm working in
  2. 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).
  3. Waited for Eclipse to do its thing
  4. 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



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.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.