Skip to content

Commit

Permalink
Updated Lambda API, whisper bug fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
MellDa1024 committed Aug 1, 2022
1 parent 14a4d60 commit a5495eb
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 46 deletions.
35 changes: 28 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,23 @@ group project.modGroup

buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
maven { url = 'https://maven.minecraftforge.net/' }
maven { url = 'https://repo.spongepowered.org/maven/' }
}

dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:5.+'
classpath 'net.minecraftforge.gradle:ForgeGradle:4.+'
classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0'
}
}

apply plugin: 'idea'
apply plugin: 'kotlin'
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'com.github.johnrengelman.shadow'

compileJava {
sourceCompatibility = targetCompatibility = '1.8'
Expand Down Expand Up @@ -68,9 +70,9 @@ dependencies {
minecraft "net.minecraftforge:forge:$minecraftVersion-$forgeVersion"

// Online maven dependency coming soon
implementation files("lib/lambda-3.1-api.jar")
implementation files("lib/lambda-3.2-api.jar")

implementation('org.spongepowered:mixin:0.8.3') {
implementation('org.spongepowered:mixin:0.8.5') {
exclude module: 'commons-io'
exclude module: 'gson'
exclude module: 'guava'
Expand All @@ -79,7 +81,7 @@ dependencies {
}

// Hacky way to get mixin work
annotationProcessor('org.spongepowered:mixin:0.8.3:processor') {
annotationProcessor('org.spongepowered:mixin:0.8.5:processor') {
exclude module: 'gson'
}

Expand Down Expand Up @@ -144,4 +146,23 @@ test {
useJUnitPlatform()
}

jar.finalizedBy('reobfJar')
jar.finalizedBy('reobfJar')

shadowJar {
archiveClassifier.set('')
configurations = []
relocate 'kotlin', 'com.lambda.shadow.kotlin'
relocate 'kotlinx', 'com.lambda.shadow.kotlinx'
finalizedBy 'reobfShadowJar'
}

reobf {
shadowJar {}
jar {
enabled = false
}
}

artifacts {
shadowJar
}
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.parallel=true

modGroup=com.mellda
modVersion=1.0.1
modVersion=1.0.2

minecraftVersion=1.12.2
forgeVersion=14.23.5.2860
mappingsChannel=stable
mappingsVersion=39-1.12

kotlinVersion=1.6.20
kotlinxCoroutinesVersion=1.6.1
kotlinVersion=1.7.10
kotlinxCoroutinesVersion=1.6.4
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Binary file removed lib/lambda-3.1-api.jar
Binary file not shown.
Binary file not shown.
Binary file added lib/lambda-3.2-api.jar
Binary file not shown.
4 changes: 0 additions & 4 deletions src/main/kotlin/com/mellda/NotificationPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,4 @@ internal object NotificationPlugin : Plugin() {
override fun onLoad() {
modules.add(LambdaNotification)
}

override fun onUnload() {
// Here you can unregister threads etc...
}
}
62 changes: 33 additions & 29 deletions src/main/kotlin/com/mellda/modules/LambdaNotification.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.mellda.modules

import com.lambda.client.LambdaMod
import com.lambda.client.event.events.ConnectionEvent
import com.lambda.client.event.events.PacketEvent
import com.lambda.client.event.listener.listener
Expand Down Expand Up @@ -32,8 +33,8 @@ internal object LambdaNotification : PluginModule(
) {
private lateinit var tray : SystemTray
private lateinit var image : Image
private lateinit var trayicon : TrayIcon
private var istrayopen = false
private lateinit var trayIcon : TrayIcon
private var isTrayOpen = false
private var playerHealth = 0F

private val whisper by setting("Whsiper", true)
Expand All @@ -50,7 +51,7 @@ internal object LambdaNotification : PluginModule(
Contain, OnlyFriend, Ignore
}

private val whisperpattern = Pattern.compile("([0-9a-zA-Z_]+) whispers: .*")
private val whisperPattern = Pattern.compile("^([0-9a-zA-Z_]+) whispers: .*")
private val playerSet = LinkedHashSet<EntityPlayer>()
private val timer = TickTimer(TimeUnit.SECONDS)

Expand All @@ -63,21 +64,22 @@ internal object LambdaNotification : PluginModule(
} else {
tray = SystemTray.getSystemTray()
image = Toolkit.getDefaultToolkit().createImage(javaClass.getResourceAsStream("/assets/minecraft/lambda/lambda.png").readBytes())
trayicon = TrayIcon(image, "Lambda Client Notification System")
trayicon.isImageAutoSize = true
tray.add(trayicon)
istrayopen = true
trayIcon = TrayIcon(image, "Lambda Client Notification System")
trayIcon.isImageAutoSize = true
tray.add(trayIcon)
isTrayOpen = true
}
} catch (e: Exception) {
MessageSendHelper.sendChatMessage("$chatName Toast System Not supported.")
LambdaMod.LOG.error("$e")
MessageSendHelper.sendChatMessage("$chatName The error occurred, see Minecraft Log for more info.")
disable()
}
}

onDisable {
if (istrayopen) {
tray.remove(trayicon)
istrayopen = false
if (isTrayOpen) {
tray.remove(trayIcon)
isTrayOpen = false
}
}

Expand All @@ -87,14 +89,14 @@ internal object LambdaNotification : PluginModule(
if (playerPacket.action == SPacketPlayerListItem.Action.ADD_PLAYER) {
if (playerPacket.entries[0].profile.name == null) return@safeListener
if (playerPacket.entries[0].profile.name.lowercase() == stalkerName.trim().lowercase()) {
trayicon.displayMessage("Lambda Client", "${playerPacket.entries[0].profile.name} Joined.", TrayIcon.MessageType.NONE)
sendNotifications("${playerPacket.entries[0].profile.name} Joined.")
}
}
}

listener<ConnectionEvent.Disconnect> {
if (!Display.isActive() && disconnect) {
trayicon.displayMessage("Lambda Client", "You've been Disconnected from server.", TrayIcon.MessageType.NONE)
if (disconnect) {
sendNotifications("You've been Disconnected from server.")
}
}

Expand All @@ -108,8 +110,8 @@ internal object LambdaNotification : PluginModule(
if ((friendSpotted == FriendMode.Ignore) && FriendManager.isFriend(entityPlayer.name)) continue
if ((friendSpotted == FriendMode.OnlyFriend) && !FriendManager.isFriend(entityPlayer.name)) continue

if (playerSet.add(entityPlayer) && isEnabled && !Display.isActive()) {
trayicon.displayMessage("Lambda Client", "${entityPlayer.name} came into Render Distance.", TrayIcon.MessageType.NONE)
if (playerSet.add(entityPlayer) && isEnabled) {
sendNotifications("${entityPlayer.name} came into Render Distance.")
}
}

Expand All @@ -120,7 +122,7 @@ internal object LambdaNotification : PluginModule(
if (((friendSpotted == FriendMode.OnlyFriend) && FriendManager.isFriend(player.name))
|| ((friendSpotted == FriendMode.Ignore) && !FriendManager.isFriend(player.name))
|| (friendSpotted == FriendMode.Contain)) {
if (isEnabled && !Display.isActive()) trayicon.displayMessage("Lambda Client", "${player.name} leaved from Render Distance.", TrayIcon.MessageType.NONE)
if (isEnabled) sendNotifications("${player.name} leaved from Render Distance.")
}
}
}
Expand All @@ -129,38 +131,40 @@ internal object LambdaNotification : PluginModule(

safeListener<TickEvent.ClientTickEvent> {
if (isDisabled || it.phase != TickEvent.Phase.END) return@safeListener
if (playerHealth > player.scaledHealth && !Display.isActive() && damage) {
trayicon.displayMessage("Lambda Client", "You've got damaged, HP : ${player.scaledHealth}", TrayIcon.MessageType.NONE)
if (playerHealth > player.scaledHealth && damage) {
sendNotifications("You've got damaged, HP : ${player.scaledHealth}")
}
playerHealth = player.scaledHealth
}

listener<ClientChatReceivedEvent> {
if (it.message.unformattedText == "Connected to the server." && join) {
if (!Display.isActive()) {
trayicon.displayMessage("Lambda Client", "You joined into Main server.", TrayIcon.MessageType.NONE)
}
sendNotifications("You joined into Main server.")
}
if (it.message.unformattedText.contains("whispers:") && whisper) {
val whispermessage = whisperpattern.matcher(removecolorcode(it.message.unformattedText))
if (whispermessage.find() && !Display.isActive()) {
trayicon.displayMessage("Lambda Client", "Whisper Detected, Sender : ${whispermessage.group(1)}", TrayIcon.MessageType.NONE)
val whispermessage = whisperPattern.matcher(removeColorCode(it.message.unformattedText))
if (whispermessage.find()) {
sendNotifications("Whisper Detected, Sender : ${whispermessage.group(1)}")
return@listener
}
}
if (it.message.unformattedText.contains(mc.session.username) && whenName) {
if (!Display.isActive()) {
trayicon.displayMessage("Lambda Client", "Someone called your name.", TrayIcon.MessageType.NONE)
}
sendNotifications("Someone called your name.")
}
}
}
private fun removecolorcode(message: String): String {
private fun removeColorCode(message: String): String {
val colorcode = arrayOf("§0","§1","§2","§3","§4","§5","§6","§7","§8","§9","§a","§b","§c","§d","§e","§f","§k","§l","§m","§n","§o","§r")
var temp = message
for (i in colorcode) {
temp = temp.replace(i,"")
}
return temp
}

private fun sendNotifications(message: String) {
if (!Display.isActive()) {
trayIcon.displayMessage("Lambda Client", message, TrayIcon.MessageType.NONE)
}
}
}
4 changes: 2 additions & 2 deletions src/main/resources/plugin_info.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "LambdaNotification",
"version": "1.0.1",
"version": "1.0.2",
"description": "Notification for Lambda.",
"url": "https://github.com/MellDa1024/LambdaNotification",
"authors": [ "MellDa" ],
"main_class": "com.mellda.NotificationPlugin",
"min_api_version": "3.0",
"min_api_version": "3.2",
"required_plugins": []
}

0 comments on commit a5495eb

Please sign in to comment.