diff --git a/build.xml b/build.xml index 5769f23c..fc077552 100644 --- a/build.xml +++ b/build.xml @@ -14,6 +14,7 @@ + @@ -33,16 +34,16 @@ - + - + - + - + @@ -80,8 +81,10 @@ + + + - \ No newline at end of file diff --git a/ee3_common/com/pahimar/ee3/EquivalentExchange3.java b/ee3_common/com/pahimar/ee3/EquivalentExchange3.java index 7f1db3dd..7d51fc40 100644 --- a/ee3_common/com/pahimar/ee3/EquivalentExchange3.java +++ b/ee3_common/com/pahimar/ee3/EquivalentExchange3.java @@ -1,6 +1,7 @@ package com.pahimar.ee3; import java.io.File; +import java.util.logging.Level; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.crafting.CraftingManager; @@ -26,16 +27,19 @@ import com.pahimar.ee3.creativetab.CreativeTabEE3; import com.pahimar.ee3.item.ModItems; import com.pahimar.ee3.item.crafting.RecipesAlchemicalBagDyes; import com.pahimar.ee3.lib.Reference; +import com.pahimar.ee3.lib.Strings; import com.pahimar.ee3.network.PacketHandler; import com.pahimar.ee3.recipe.RecipesTransmutationStone; import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.FingerprintWarning; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PostInit; import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.Mod.ServerStarting; import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLFingerprintViolationEvent; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -43,6 +47,7 @@ import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; @@ -55,7 +60,7 @@ import cpw.mods.fml.relauncher.Side; * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) * */ -@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION) +@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION, certificateFingerprint = Reference.FINGERPRINT) @NetworkMod(channels = { Reference.CHANNEL_NAME }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class) public class EquivalentExchange3 { @@ -67,6 +72,13 @@ public class EquivalentExchange3 { public static CreativeTabs tabsEE3 = new CreativeTabEE3(CreativeTabs.getNextID(), Reference.MOD_ID); + @FingerprintWarning + public void invalidFingerprint(FMLFingerprintViolationEvent event) { + + // Report (log) to the user that the version of Equivalent Exchange 3 they are using has been changed/tampered with + LogHelper.log(Level.SEVERE, LanguageRegistry.instance().getStringLocalization(Strings.INVALID_FINGERPRINT_MESSAGE)); + } + @ServerStarting public void serverStarting(FMLServerStartingEvent event) { @@ -155,6 +167,5 @@ public class EquivalentExchange3 { // Initialize the Addon Handler AddonHandler.init(); - } } diff --git a/ee3_common/com/pahimar/ee3/lib/Reference.java b/ee3_common/com/pahimar/ee3/lib/Reference.java index 2eab9bc3..f1255280 100644 --- a/ee3_common/com/pahimar/ee3/lib/Reference.java +++ b/ee3_common/com/pahimar/ee3/lib/Reference.java @@ -19,6 +19,7 @@ public class Reference { public static final String MOD_NAME = "Equivalent Exchange 3"; public static final String VERSION = "@VERSION@"; public static final String CHANNEL_NAME = MOD_ID; + public static final String FINGERPRINT = "@FINGERPRINT@"; public static final int SECOND_IN_TICKS = 20; public static final int SHIFTED_ID_RANGE_CORRECTION = 256; public static final String SERVER_PROXY_CLASS = "com.pahimar.ee3.core.proxy.CommonProxy"; diff --git a/ee3_common/com/pahimar/ee3/lib/Strings.java b/ee3_common/com/pahimar/ee3/lib/Strings.java index 938e2350..4ec39f88 100644 --- a/ee3_common/com/pahimar/ee3/lib/Strings.java +++ b/ee3_common/com/pahimar/ee3/lib/Strings.java @@ -15,6 +15,9 @@ public class Strings { public static final String TRUE = "true"; public static final String FALSE = "false"; + /* Fingerprint check related constants */ + public static final String INVALID_FINGERPRINT_MESSAGE = "fingerprint_check.invalid"; + /* Version check related constants */ public static final String VERSION_CHECK_INIT_LOG_MESSAGE = "version.init_log_message"; public static final String UNINITIALIZED_MESSAGE = "version.uninitialized"; diff --git a/resources/mods/ee3/lang/en_US.xml b/resources/mods/ee3/lang/en_US.xml index cbc9244f..e3ef5046 100644 --- a/resources/mods/ee3/lang/en_US.xml +++ b/resources/mods/ee3/lang/en_US.xml @@ -27,6 +27,7 @@ Alchemical Chest Alchemical Bag Equivalent Exchange 3 + The copy of Equivalent Exchange 3 that you are running has been modified from the original, and unpredictable things may happen. Please consider re-downloading the original version of the mod. Initializing remote version check against remote version authority, located at Remote version check failed to initialize properly Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@