2016-12-04 14:38:17 +08:00
package customskinloader.forge ;
2019-03-04 20:12:13 +08:00
import customskinloader.CustomSkinLoader ;
2021-01-03 02:53:57 +08:00
import net.minecraft.launchwrapper.Launch ;
2020-11-05 11:52:36 +08:00
import net.minecraftforge.fml.ExtensionPoint ;
import net.minecraftforge.fml.ModLoadingContext ;
2016-12-04 14:50:36 +08:00
import net.minecraftforge.fml.common.Mod ;
2019-03-04 20:12:13 +08:00
import net.minecraftforge.fml.common.event.FMLFingerprintViolationEvent ;
2020-11-05 11:52:36 +08:00
import org.apache.commons.lang3.tuple.Pair ;
2016-12-04 14:38:17 +08:00
2019-03-02 12:26:53 +08:00
/**
2019-03-04 20:12:13 +08:00
* Forge Mod Container
2019-03-02 12:26:53 +08:00
*/
2019-03-04 20:12:13 +08:00
@Mod (
value = "customskinloader" ,
modid = "customskinloader" ,
name = "CustomSkinLoader" ,
version = "@MOD_FULL_VERSION@" ,
clientSideOnly = true ,
2021-07-25 15:48:50 +08:00
acceptedMinecraftVersions = "[1.8,1.13)" ,
2020-06-29 00:56:41 +08:00
acceptableRemoteVersions = "*" ,
2023-01-04 15:56:11 +08:00
certificateFingerprint = "52885f395e68f42e9b3b629ba56ecf606f7d4269"
2019-03-04 20:12:13 +08:00
) //1.13-
2018-08-13 05:11:47 +08:00
public class ForgeMod {
2020-11-05 11:52:36 +08:00
public ForgeMod () {
try {
this . setExtensionPoint ();
} catch ( Throwable ignored ) {
// before forge-1.13.2-25.0.103
}
}
2019-03-04 20:12:13 +08:00
2020-11-05 11:52:36 +08:00
@Mod.EventHandler
2019-03-04 20:12:13 +08:00
public void fingerprintError ( FMLFingerprintViolationEvent event ) {
2021-01-03 02:53:57 +08:00
if (( boolean ) Launch . blackboard . get ( "fml.deobfuscatedEnvironment" ) || event . isDirectory ()) return ; //Development Environment
2019-03-04 20:12:13 +08:00
CustomSkinLoader . logger . warning ( "!!!Fingerprint ERROR!!!" );
CustomSkinLoader . logger . warning ( "Failed to check fingerprint in file '" + event . getSource (). getAbsolutePath () + "'." );
CustomSkinLoader . logger . warning ( "Excepted Fingerprint: " + event . getExpectedFingerprint ());
if ( event . getFingerprints (). isEmpty ()) {
CustomSkinLoader . logger . warning ( "No Fingerprint Founded." );
} else {
CustomSkinLoader . logger . warning ( "Founded Fingerprint: " );
for ( String s : event . getFingerprints ())
CustomSkinLoader . logger . warning ( s );
}
throw new RuntimeException ( "Fingerprint ERROR, please **DO NOT MODIFY** any mod." );
}
2020-11-05 11:52:36 +08:00
// Make sure the mod being absent on the other network side does not cause the client to display the server as incompatible after forge-1.13.2-25.0.107.
private void setExtensionPoint () {
2021-07-25 15:48:50 +08:00
ModLoadingContext . get (). registerExtensionPoint ( ExtensionPoint . DISPLAYTEST , () -> Pair . of (() -> "customskinloader" , ( remote , isServer ) -> isServer ));
2020-11-05 11:52:36 +08:00
}
2021-07-25 15:48:50 +08:00
}