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
  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)
 

  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

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.

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Yes that’s the full log, I managed to get it working last night, the anvil fix mod is what was causing it to crash
    • Hey guys, i'm currently developping a mod with forge 1.12.2 2860 and i'm using optifine and gradle 4.9. The thing is i'm trying to figure out how to show the player's body in first person. So far everything's going well since i've try to use a shader. The player's body started to blink dark when using a shader. I've try a lot of shader like chocapic, zeus etc etc but still the same issue. So my question is : How should i apply the current shader to the body ? At the same time i'm also drawing a HUD so maybe it could be the problem?   Here is the issue :    And here is the code where i'm trying to display the body :    private static void renderFirstPersonBody(EntityPlayerSP player, float partialTicks) { Minecraft mc = Minecraft.getMinecraft(); GlStateManager.pushMatrix(); GlStateManager.pushAttrib(); try { // Préparation OpenGL GlStateManager.enableDepth(); GlStateManager.depthMask(true); GlStateManager.enableAlpha(); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); // Éclairage correct pour shaders GlStateManager.enableLighting(); RenderHelper.enableStandardItemLighting(); GlStateManager.enableRescaleNormal(); // Active la lightmap pour les shaders mc.entityRenderer.enableLightmap(); // Position de rendu interpolée double px = player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks; double py = player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks; double pz = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks; GlStateManager.translate( px - mc.getRenderManager().viewerPosX, py - mc.getRenderManager().viewerPosY, pz - mc.getRenderManager().viewerPosZ ); // Rendu du joueur sans la tête Render<?> render = mc.getRenderManager().getEntityRenderObject(player); if (render instanceof RenderPlayer) { RenderPlayer renderPlayer = (RenderPlayer) render; boolean oldHeadHidden = renderPlayer.getMainModel().bipedHead.isHidden; boolean oldHeadwearHidden = renderPlayer.getMainModel().bipedHeadwear.isHidden; renderPlayer.getMainModel().bipedHead.isHidden = true; renderPlayer.getMainModel().bipedHeadwear.isHidden = true; setArmorHeadVisibility(renderPlayer, false); renderPlayer.doRender(player, 0, 0, 0, player.rotationYaw, partialTicks); renderPlayer.getMainModel().bipedHead.isHidden = oldHeadHidden; renderPlayer.getMainModel().bipedHeadwear.isHidden = oldHeadwearHidden; setArmorHeadVisibility(renderPlayer, !oldHeadwearHidden); } // Nettoyage post rendu mc.entityRenderer.disableLightmap(); GlStateManager.disableRescaleNormal(); } catch (Exception e) { // silent fail } finally { GlStateManager.popAttrib(); GlStateManager.popMatrix(); } }   Ty for your help. 
    • Item successfully registered, but there was a problem with the texture of the item, it did not insert and has just the wrong texture.     
    • Keep on using the original Launcher Run Vanilla 1.12.2 once and close the game Download Optifine and run optifine as installer (click on the optifine jar) Start the launcher and make sure the Optifine profile is selected - then test it again  
    • Hi everyone, I’m hoping to revisit an old version of Minecraft — specifically around Beta 1.7.3 — for nostalgia’s sake. I’ve heard you can do this through the official Minecraft Launcher, but I’m unsure how to do it safely without affecting my current installation or save files. Are there any compatibility issues I should watch out for when switching between versions? Would really appreciate any tips or advice from anyone who’s done this before! – Adam
  • Topics

×
×
  • Create New...

Important Information

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