From 4d51894628a200a2e0d258618027c91ad19f5547 Mon Sep 17 00:00:00 2001 From: NikkyAI Date: Sun, 18 Feb 2018 06:05:06 +0100 Subject: [PATCH] fix duplicate achievment display --- 1.10.2/src/main/kotlin/matterlink/EventHandler.kt | 8 ++++++++ 1.11.2/src/main/kotlin/matterlink/EventHandler.kt | 9 +++++++++ 1.7.10/src/main/kotlin/matterlink/EventHandler.kt | 9 +++++++++ gradle.properties | 2 +- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/1.10.2/src/main/kotlin/matterlink/EventHandler.kt b/1.10.2/src/main/kotlin/matterlink/EventHandler.kt index e773a59..17ae1b3 100644 --- a/1.10.2/src/main/kotlin/matterlink/EventHandler.kt +++ b/1.10.2/src/main/kotlin/matterlink/EventHandler.kt @@ -7,6 +7,7 @@ import matterlink.handlers.* import net.minecraft.command.server.CommandBroadcast import net.minecraft.command.server.CommandEmote import net.minecraft.entity.player.EntityPlayer +import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.server.dedicated.DedicatedServer import net.minecraft.tileentity.TileEntityCommandBlock import net.minecraftforge.event.CommandEvent @@ -27,6 +28,13 @@ object EventHandler { @SubscribeEvent @JvmStatic fun progressEvent(e: AchievementEvent) { + val achievement = e.achievement + val entityPlayer = e.entityPlayer as? EntityPlayerMP ?: return + val statFile = entityPlayer.statFile + + if (!statFile.canUnlockAchievement(achievement) || statFile.hasAchievementUnlocked(achievement)) { + return + } ProgressHandler.handleProgress( name = e.entityPlayer.name, message = "has earned the achievement", diff --git a/1.11.2/src/main/kotlin/matterlink/EventHandler.kt b/1.11.2/src/main/kotlin/matterlink/EventHandler.kt index e773a59..61c7bcf 100644 --- a/1.11.2/src/main/kotlin/matterlink/EventHandler.kt +++ b/1.11.2/src/main/kotlin/matterlink/EventHandler.kt @@ -7,6 +7,7 @@ import matterlink.handlers.* import net.minecraft.command.server.CommandBroadcast import net.minecraft.command.server.CommandEmote import net.minecraft.entity.player.EntityPlayer +import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.server.dedicated.DedicatedServer import net.minecraft.tileentity.TileEntityCommandBlock import net.minecraftforge.event.CommandEvent @@ -27,6 +28,14 @@ object EventHandler { @SubscribeEvent @JvmStatic fun progressEvent(e: AchievementEvent) { + val achievement = e.achievement + val entityPlayer = e.entityPlayer as? EntityPlayerMP ?: return + val statFile = entityPlayer.statFile + + if (!statFile.canUnlockAchievement(achievement) || statFile.hasAchievementUnlocked(achievement)) { + return + } + ProgressHandler.handleProgress( name = e.entityPlayer.name, message = "has earned the achievement", diff --git a/1.7.10/src/main/kotlin/matterlink/EventHandler.kt b/1.7.10/src/main/kotlin/matterlink/EventHandler.kt index 9be924c..8e6cacd 100644 --- a/1.7.10/src/main/kotlin/matterlink/EventHandler.kt +++ b/1.7.10/src/main/kotlin/matterlink/EventHandler.kt @@ -10,6 +10,7 @@ import matterlink.handlers.* import net.minecraft.command.server.CommandBroadcast import net.minecraft.command.server.CommandEmote import net.minecraft.entity.player.EntityPlayer +import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.server.MinecraftServer import net.minecraft.server.dedicated.DedicatedServer import net.minecraft.tileentity.TileEntityCommandBlock @@ -24,6 +25,14 @@ object EventHandler { //MC-VERSION & FORGE DEPENDENT @SubscribeEvent fun progressEvent(e: AchievementEvent) { + val achievement = e.achievement + val entityPlayer = e.entityPlayer as? EntityPlayerMP ?: return + val statFile = entityPlayer.statFile + + if (!statFile.canUnlockAchievement(achievement) || statFile.hasAchievementUnlocked(achievement)) { + return + } + ProgressHandler.handleProgress( name = e.entityPlayer.displayName, message = "has earned the achievement", diff --git a/gradle.properties b/gradle.properties index 7fc07d2..0fe3ea8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ mod_name = MatterLink -mod_version = 1.4 +mod_version = 1.4.1 forgelin_version = 1.6.0 \ No newline at end of file