Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
emortal committed Jan 20, 2022
1 parent a441e70 commit b278f5e
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 34 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ dependencies {
compileOnly(kotlin("reflect"))

// Compile Minestom into project
compileOnly("com.github.emortaldev:Minestom:d25ea275e4")
compileOnly("com.github.Minestom:Minestom:517d6a3b7c")
compileOnly("com.github.EmortalMC:Immortal:37d9d50ec8")

//implementation("redis.clients:jedis:3.7.0")
Expand Down
54 changes: 28 additions & 26 deletions src/main/kotlin/dev/emortal/acquaintance/AcquaintanceExtension.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import dev.emortal.acquaintance.commands.ChannelCommand
import dev.emortal.acquaintance.commands.FriendCommand
import dev.emortal.acquaintance.commands.PartyCommand
import dev.emortal.acquaintance.config.DatabaseConfig
import dev.emortal.acquaintance.db.MariaStorage
import dev.emortal.acquaintance.db.MySQLStorage
import dev.emortal.acquaintance.db.Storage
import dev.emortal.immortal.config.ConfigHelper
import dev.emortal.immortal.config.ConfigHelper.noPrettyPrintFormat
Expand Down Expand Up @@ -58,7 +58,7 @@ class AcquaintanceExtension : Extension() {
databaseConfig = ConfigHelper.initConfigFile(databaseConfigPath, databaseConfig)

if (databaseConfig.enabled) {
storage = MariaStorage()
storage = MySQLStorage()
}

eventNode.listenOnly<PlayerLoginEvent> {
Expand Down Expand Up @@ -94,6 +94,21 @@ class AcquaintanceExtension : Extension() {
.append(Component.text(" left the server", NamedTextColor.GRAY))
)
}

RelationshipManager.partyInviteMap.remove(player)

if (player.party != null) leavingTasks[player] =
Manager.scheduler.buildTask {
player.party?.sendMessage(
Component.text(
"${player.username} was kicked from the party because they were offline",
NamedTextColor.GOLD
)
)
player.party?.remove(player, false)
}.delay(Duration.ofMinutes(5)).schedule()

// TODO: Leave parties after a while
}

eventNode.listenOnly<PlayerSpawnEvent> {
Expand All @@ -104,6 +119,7 @@ class AcquaintanceExtension : Extension() {
}

eventNode.listenOnly<PlayerChatEvent> {

setChatFormat {
Component.text()
.append(player.displayName!!)
Expand Down Expand Up @@ -150,39 +166,25 @@ class AcquaintanceExtension : Extension() {
entity.updateViewableRule { recipients.contains(it) }
meta.radius = 0f
meta.isHasNoGravity = true
meta.customName = playerName.append(Component.text(": ")).append(Component.text(if (message.length > 20) message.take(17) + "..." else message))
meta.customName = playerName.append(Component.text(": ")).append(Component.text(if (message.length > 20) message.take(20) + "..." else message))
meta.isCustomNameVisible = true

player.addPassenger(entity)
entity.setInstance(player.instance!!, player.position)
.thenRun {
player.addPassenger(entity)

val task = Manager.scheduler.buildTask {
entity.remove()
chatHologramMap.remove(player)
}.delay(Duration.ofSeconds(3)).schedule()
chatHologramMap[player] = Pair(entity, task)
val task = Manager.scheduler.buildTask {
entity.remove()
chatHologramMap.remove(player)
}.delay(Duration.ofSeconds(3)).schedule()
chatHologramMap[player] = Pair(entity, task)
}

recipients.forEach {
it.playSound(Sound.sound(SoundEvent.ENTITY_ITEM_PICKUP, Sound.Source.MASTER, 1f, 2f), Sound.Emitter.self())
}
}

eventNode.listenOnly<PlayerDisconnectEvent> {
RelationshipManager.partyInviteMap.remove(player)

if (player.party != null) leavingTasks[player] =
Manager.scheduler.buildTask {
player.party?.sendMessage(
Component.text(
"${player.username} was kicked from the party because they were offline",
NamedTextColor.GOLD
)
)
player.party?.remove(player, false)
}.delay(Duration.ofMinutes(5)).schedule()

// TODO: Leave parties after a while
}

if (databaseConfig.enabled) {
ChannelCommand.register()
FriendCommand.register()
Expand Down
14 changes: 12 additions & 2 deletions src/main/kotlin/dev/emortal/acquaintance/RelationshipManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ object RelationshipManager {
.append(Component.text(" | ", NamedTextColor.DARK_GRAY))

internal val errorColor = NamedTextColor.RED
internal val successColor = NamedTextColor.GREEN


val friendCache = ConcurrentHashMap<UUID, MutableList<UUID>>()
Expand Down Expand Up @@ -104,11 +105,20 @@ object RelationshipManager {
// FRIENDS -----

fun Player.requestFriend(player: Player) {
if (this.friends.size > 200) {
this.sendMessage(Component.text("You already have enough friends", errorColor))
return
}

if (friendRequestMap[player]?.contains(this) == true) {
this.sendMessage(Component.text("You have already sent a request to that player", errorColor))
return
}

if (friendRequestMap[this]?.contains(player) == true) {
player.acceptFriendRequest(this)
return
}
friendRequestMap[player]!!.add(this)

player.sendMessage(
Expand Down Expand Up @@ -163,12 +173,12 @@ object RelationshipManager {
this.sendMessage(
Component.text()
.append(friendPrefix)
.append(Component.text("You are now friends with '${player.username}'!", NamedTextColor.GREEN))
.append(Component.text("You are now friends with '${player.username}'!", successColor))
)
player.sendMessage(
Component.text()
.append(friendPrefix)
.append(Component.text("You are now friends with '${this.username}'!", NamedTextColor.GREEN))
.append(Component.text("You are now friends with '${this.username}'!", successColor))
)

return true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import dev.emortal.acquaintance.AcquaintanceExtension
import dev.emortal.acquaintance.RelationshipManager
import dev.emortal.acquaintance.RelationshipManager.acceptFriendRequest
import dev.emortal.acquaintance.RelationshipManager.denyFriendRequest
import dev.emortal.acquaintance.RelationshipManager.errorColor
import dev.emortal.acquaintance.RelationshipManager.friendPrefix
import dev.emortal.acquaintance.RelationshipManager.friends
import dev.emortal.acquaintance.RelationshipManager.removeFriend
import dev.emortal.acquaintance.RelationshipManager.requestFriend
import dev.emortal.acquaintance.RelationshipManager.successColor
import dev.emortal.acquaintance.RelationshipManager.errorColor
import dev.emortal.acquaintance.util.armify
import dev.emortal.immortal.game.GameManager.game
import net.kyori.adventure.text.Component
Expand Down Expand Up @@ -68,7 +69,7 @@ object FriendCommand : Kommand({
player.sendMessage(
Component.text()
.append(friendPrefix)
.append(Component.text("Denied friend request from '${user.username}'!", NamedTextColor.GREEN))
.append(Component.text("Denied friend request from '${user.username}'!", successColor))
)
}

Expand Down Expand Up @@ -148,9 +149,14 @@ object FriendCommand : Kommand({
)
}

val specialMessage = when (onlineFriends.size) {
69 -> "nice"
else -> ""
}

val message = Component.text()
.append(Component.text("Your friends: ", NamedTextColor.GOLD, TextDecoration.BOLD))
.append(Component.text("●${onlineFriends.size}", NamedTextColor.GREEN))
.append(Component.text("●${onlineFriends.size} ($specialMessage)", NamedTextColor.GREEN))
.append(Component.text(" | ", NamedTextColor.DARK_GRAY))
.append(Component.text("●${friends.size - onlineFriends.size}\n", NamedTextColor.GRAY))
.append(listComponent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import java.sql.DriverManager
import java.util.*


class MariaStorage : Storage() {
class MySQLStorage : Storage() {

init {
val statement =
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"name": "${project.name}",
"version": "${project.version}",
"dependencies": [
"Immortal"
"Immortal", "LuckPerms"
]
}

0 comments on commit b278f5e

Please sign in to comment.