Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Offline Support


xkyouchoux
 Share

Recommended Posts

This is a pretty silly request, but some of the big forge mods like EE2 use the players username for saving stuff, and if your offline it uses a random username, and I have already fixed this, but I am asking if Forge can detect if the game is playing in offline, and if so, set net.minecraft.client.Minecraft.session.username to the first UTF in the .minecraft/lastlogin file, so when your playing offline, you would stille have your username. Its pretty easy to implement, but im not posting code because the lastlogin file uses a Cipher (assuming a cipher is a encrytion.. lol) :/

 

Edit:

 

code with cipher removed :)

 

@Override
public void load()
{
	File file = new File(Minecraft.getAppDir("minecraft"), "lastlogin");
	if(file.exists() && isOffline())
	{
		try
		{
			CipherInputStream cipherStream = new CipherInputStream(new FileInputStream(file), getCipher(2, "passwordfile"));
			DataInputStream stream = new DataInputStream(cipherStream);
			String username = stream.readUTF();
			System.out.println("Setting offline username as " + username + ".");
			ModLoader.getMinecraftInstance().session.username = username;
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

/**
 * Copied directly from Minecraft.exe to get access to the lastligin files because it uses a cipher.
 * 
 * @param mode
 * @param password
 * @return
 * @throws Exception
 */
private Cipher getCipher(int mode, String password)
{
	//removed for various reasons
                return null;
}

public static boolean isOffline()
{
	try
	{
		URL var1 = new URL("http://s3.amazonaws.com/MinecraftResources/");
            DocumentBuilderFactory var2 = DocumentBuilderFactory.newInstance();
            DocumentBuilder var3 = var2.newDocumentBuilder();
            Document var4 = var3.parse(var1.openStream());
            return false;
	}
	catch(Exception e)
	{
		return true;
	}
}

 

It is possibly to do in a simple mod_ file, but it would be more effective if it is ran before mods are initialized.

Link to comment
Share on other sites

this should actually be deemed a bug in the mod, no client-side mod has need for the username to store data properly, doing so is therefore useless

 

storing info on a SMP server by username i can get, not on a client where a mod SHOULD assume a single user per world anyhow

Being noobish since 96, being dumb since birth!

Link to comment
Share on other sites

... play minecraft, go offline, play "cracked" (its not exactly cracked, but you'll be playing as YourPlayerName instead of Player, and thats like playing cracked, and you can easily modify the code to change the YourPlayerName)

No, you do NOT need jar modding!

Link to comment
Share on other sites

Again, this is nothing like cracked, you still need a minecraft username and password to login to minecraft to get a lastlogin file, which this would only set the username to your lastlogin IF your playing without a internet connection, not in offline mode. locking this thread so it doesnt turn into flame. :/

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • JVM info: Eclipse Adoptium - 17.0.1 - 17.0.1+12 java.net.preferIPv4Stack=true Found java version 17.0.1 Extracting json Considering minecraft client jar Downloading libraries Found 0 additional library directories Considering library cpw.mods:securejarhandler:0.9.54   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-util:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1   File exists: Checksum validated. Considering library net.minecraftforge:accesstransformers:8.0.4   File exists: Checksum validated. Considering library org.antlr:antlr4-runtime:4.9.1   File exists: Checksum validated. Considering library net.minecraftforge:eventbus:5.0.3   File exists: Checksum validated. Considering library net.minecraftforge:forgespi:4.0.10   File exists: Checksum validated. Considering library net.minecraftforge:coremods:5.0.1   File exists: Checksum validated. Considering library cpw.mods:modlauncher:9.0.7   File exists: Checksum validated. Considering library net.minecraftforge:unsafe:0.2.0   File exists: Checksum validated. Considering library com.electronwill.night-config:core:3.6.3   File exists: Checksum validated. Considering library com.electronwill.night-config:toml:3.6.3   File exists: Checksum validated. Considering library org.apache.maven:maven-artifact:3.6.3   File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1   File exists: Checksum validated. Considering library net.jodah:typetools:0.8.3   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-api:2.14.1   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.14.1   File exists: Checksum validated. Considering library net.minecrell:terminalconsoleappender:1.2.0   File exists: Checksum validated. Considering library org.jline:jline-reader:3.12.1   File exists: Checksum validated. Considering library org.jline:jline-terminal:3.12.1   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4   File exists: Checksum validated. Considering library org.spongepowered:mixin:0.8.4   File exists: Checksum validated. Considering library org.openjdk.nashorn:nashorn-core:15.3   File exists: Checksum validated. Considering library com.google.guava:guava:21.0   File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.0   File exists: Checksum validated. Considering library cpw.mods:bootstraplauncher:0.1.17   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.119   File exists: Checksum validated. Considering library com.github.jponge:lzma-java:1.3   File exists: Checksum validated. Considering library com.google.code.findbugs:jsr305:3.0.2   File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.7   File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.1.3   File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.3.4   File exists: Checksum validated. Considering library com.google.guava:failureaccess:1.0.1   File exists: Checksum validated. Considering library com.google.guava:guava:20.0   File exists: Checksum validated. Considering library com.google.guava:guava:25.1-jre   File exists: Checksum validated. Considering library com.google.guava:guava:30.1-android   File exists: Checksum validated. Considering library com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava   File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.1   File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.3   File exists: Checksum validated. Considering library com.google.jimfs:jimfs:1.2   File exists: Checksum validated. Considering library com.nothome:javaxdelta:2.0.1   File exists: Checksum validated. Considering library com.opencsv:opencsv:4.4   File exists: Checksum validated. Considering library commons-beanutils:commons-beanutils:1.9.3   File exists: Checksum validated. Considering library commons-collections:commons-collections:3.2.2   File exists: Checksum validated. Considering library commons-io:commons-io:2.4   File exists: Checksum validated. Considering library commons-logging:commons-logging:1.2   File exists: Checksum validated. Considering library de.oceanlabs.mcp:mcp_config:1.17.1-20210706.113038@zip   File exists: Checksum validated. Considering library de.siegmar:fastcsv:2.0.0   File exists: Checksum validated. Considering library net.md-5:SpecialSource:1.10.0   File exists: Checksum validated. Considering library net.minecraftforge.lex:vignette:0.2.0.16   File exists: Checksum validated. Considering library net.minecraftforge:binarypatcher:1.0.12   File exists: Checksum validated. Considering library net.minecraftforge:fmlcore:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:forge:1.17.1-37.0.119:universal   File exists: Checksum validated. Considering library net.minecraftforge:installertools:1.2.7   File exists: Checksum validated. Considering library net.minecraftforge:jarsplitter:1.1.4   File exists: Checksum validated. Considering library net.minecraftforge:javafmllanguage:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:mclanguage:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:srgutils:0.4.3   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4   File exists: Checksum validated. Considering library org.apache.commons:commons-collections4:4.2   File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1   File exists: Checksum validated. Considering library org.apache.commons:commons-text:1.3   File exists: Checksum validated. Considering library org.cadixdev:atlas:0.2.2   File exists: Checksum validated. Considering library org.cadixdev:bombe-asm:0.3.5   File exists: Checksum validated. Considering library org.cadixdev:bombe:0.3.5   File exists: Checksum validated. Considering library org.cadixdev:lorenz-asm:0.5.7   File exists: Checksum validated. Considering library org.cadixdev:lorenz:0.5.7   File exists: Checksum validated. Considering library org.checkerframework:checker-compat-qual:2.5.5   File exists: Checksum validated. Considering library org.checkerframework:checker-qual:2.0.0   File exists: Checksum validated. Considering library org.codehaus.mojo:animal-sniffer-annotations:1.14   File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1   File exists: Checksum validated. Considering library trove:trove:1.0.2   File exists: Checksum validated. Created Temporary Directory: C:\Users\emir2\AppData\Local\Temp\forge_installer6644919293218080355   Extracting: /data/client.lzma Building Processors ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, MCP_DATA, --input, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip, --output, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt, --key, mappings Task: MCP_DATA Input:  C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip Output: C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt Key:    mappings Extracting: config/joined.tsrg ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, DOWNLOAD_MOJMAPS, --version, 1.17.1, --side, client, --output, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt Task: DOWNLOAD_MOJMAPS MC Version: 1.17.1 Side:       client Output:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:370)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:313)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)     at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)     at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)     at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)     at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)     at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)     at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)     at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)     at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)     at java.base/java.net.URL.openStream(URL.java:1161)     at net.minecraftforge.installertools.DownloadMojmaps.process(DownloadMojmaps.java:65)     at net.minecraftforge.installertools.ConsoleTool.main(ConsoleTool.java:55)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:568)     at net.minecraftforge.installer.actions.PostProcessors.process(PostProcessors.java:226)     at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:144)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:423)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:175)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)     at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)     at java.base/sun.security.validator.Validator.validate(Validator.java:264)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)     ... 28 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)     at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)     at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)     ... 33 more Failed to run processor: javax.net.ssl.SSLHandshakeException:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target See log for more details.      
    • Your createBodyLayer creates a HumanoidModel. Then it gets the body child and adds new parts to it (why you do this instead of overwriting the existing body parts I do not know). When getting the childs later you try to get the body parts directly, but they are children of the "body" child.
    • I am finding the code difficult to read. Can anyone give me an example of a block, similar to sand, that, when placed, turns into and entity, goes up one block, then turns back into a block?
    • Ok Here is the Updated Code: The Model Class: My Renderer class: And the updated Main Class: Also, I realized that the Main Class Events shouldn't be static and now the game runs but the model isn't rendering.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.