Jump to content

Recommended Posts

Posted

Greetings,

 

I was following a suggestion on the MC forums to try running MC from a USB stick to see if it increases fps. Unfortunately ForgeML doesn't allow this because it looks to the user's %APPDATA% folder for some additional libraries:

 

argo-2.25.jar

guava-12.0.1.jar

asm-all-4.0.jar

bcprov-jdk15on-147.jar

 

Since I was trying to play offline, ForgeML crashed saying it couldn't download the libraries even though they are there in the "lib" folder in the relative path.

 

Is it possible in a future release to have ForgeML look in the relative path rather than a hard coded path? Vanilla MC can be run from a USB stick so it seems counterintuitive for ForgeML to interfere with this.

Posted

The path is not hardcoded, you just need a launcher to sets the Minecraft home dir properly and FML will use it.

Go try MultiMC.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

The path is not hardcoded, you just need a launcher to sets the Minecraft home dir properly and FML will use it.

Go try MultiMC.

 

Interesting, I thought this batch script would set the home path:

 

REM Obtain the current path and remove the trailing slash
SET _appPath=%~dp0
SET _appPath=%_appPath:~0,-1%
SET CLASSPATH=%_appPath%\bin\*

 

Java launches properly but as I said, it still looks in the user directory. I must be missing something. Is there no way to do this with a simple batch script? I really don't want to have to rely on a 3rd party executable.

 

 

Edit:

 

Removed the code snippet that showed the java commandline since it didn't

fit in the page properly and it was irrelevant to the discussion anyway.

Posted

Change the definition of %APPDATA% to point to your usb drive.

Beyond that no, because if the actual path is null {which is is by default in MC} it will create it fromt he %appdata% environment variable.

It DOES NOT use working dir or anything like that.

This is basic vanilla minecraft mechanics not us.

 

So to do it properly you have to set the calculated home dir to something in java.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

@LexManos

 

Thanks for the tip, got it working:

 

SET _appPath=%~dp0
SET _appPath=%_appPath:~0,-1%
SET APPDATA=%_appPath:~0,-10%

 

First line gets the current directory (for example: F:\Games\.minecraft\), second line trims the trailing "\" off and the third trims the ".minecraft" folder.

 

The third line was key because the java parameter -Duser.home is blocked by security rules so it would not change the system parameter properly.

 

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

    • I see. I'm sure I tried again with a lower case word, a few times. I ended up doing the same thing as pixxy in the end. Is this beyond the scope of the admins to fix? Are they already aware of it, or should I use 'contact us' to post a ticket?
    • I’m working on a Manta Ray entity in MCreator using GeckoLib animations, and my goal is to have a looping (flip) animation that ends at −360°, then transitions seamlessly into a swim animation starting at 0°. However, every method I’ve tried—like quickly interpolating the angle, inserting a brief keyframe at 0°, or using a micro “bridge” animation—still causes a visible “flash” https://imgur.com/a/5ucjUb9 or "jump" when the rotation resets. I want a perfectly smooth motion from the flip’s final rotation to the swim’s initial rotation. If anyone has solved this in MCreator/GeckoLib, or found a better trick for handling the −360° →0° gap without a snap, I’d appreciate some advice ! P.S.- I cannot set swim to start at -360 because I would have the same issue but in reverse. Here's the custom LoopingAnimationGoal :   class LoopingAnimationGoal extends Goal { private final MantaRayEntity entity; private final int cooldownTime; private int animationTimer; private int cooldownTimer; // New boolean to prevent double calls private boolean isLoopingActive = false; public LoopingAnimationGoal(MantaRayEntity entity, int cooldownTime) { this.entity = entity; this.cooldownTime = cooldownTime; this.animationTimer = 0; this.cooldownTimer = 0; this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); } @Override public boolean canUse() { System.out.println("[DEBUG] LoopingGoal canUse => cooldownTimer=" + cooldownTimer); if (cooldownTimer > 0) { cooldownTimer--; return false; } BlockPos entityPos = entity.blockPosition(); boolean canUse = entity.isWaterAbove(entityPos, 4); System.out.println("[DEBUG] LoopingGoal canUse => WATER " + (canUse ? "DETECTED" : "NOT DETECTED") + " at " + entityPos + ", returning " + canUse); return canUse; } @Override public void start() { entity.setAnimation("looping"); animationTimer = 63; isLoopingActive = true; System.out.println("[DEBUG] Looping animation STARTED. Timer=" + animationTimer + ", gameTime=" + entity.level().getGameTime()); } @Override public boolean canContinueToUse() { System.out.println("[DEBUG] LoopingGoal canContinueToUse => animationTimer=" + animationTimer); return animationTimer > 0; } @Override public void tick() { animationTimer--; System.out.println("[DEBUG] LoopingGoal TICK => animationTimer=" + animationTimer); // We stop ONLY if we are still looping if (animationTimer <= 0 && isLoopingActive) { System.out.println("[DEBUG] condition => animationTimer <= 0 && isLoopingActive"); stop(); } } @Override public void stop() { // Check if already stopped if (!isLoopingActive) { System.out.println("[DEBUG] stop() called again, but isLoopingActive = false. Doing nothing."); return; } System.out.println("[DEBUG] Looping STOP at tick=" + entity.level().getGameTime() + ", last known rotation=" + entity.getXRot() + "/" + entity.getYRot() + ", animationTimer=" + animationTimer); // Immediately switch to "swim" entity.setAnimation("swim"); // Reset cooldown cooldownTimer = cooldownTime; // Disable looping to prevent a second stop isLoopingActive = false; System.out.println("[DEBUG] Looping STOP => setAnimation('swim'), cooldownTimer=" + cooldownTimer); } }  
    • So is the intention of the crusher for ores meant to be used with a silk touch pickaxe or something? Cause that seems like too much effort just to profit off of the machine, when everything drops as raw materials now. Am I just missing something? 
  • Topics

×
×
  • Create New...

Important Information

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