forked from SteamWar/SteamWar
Merge remote-tracking branch 'origin/main'
# Conflicts: # LobbySystem/src/de/steamwar/lobby/special/advent/Present.java
This commit is contained in:
@@ -55,6 +55,17 @@ class NodeMember(id: EntityID<CompositeID>) : CompositeEntity(id) {
|
||||
getNodeMember(node, member) ?: throw IllegalStateException("NodeMember not created")
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun createNodeMember(node: Int, member: Int, parent: SchematicNode): NodeMember = useDb {
|
||||
if (!parent.isDir()) throw IllegalStateException("Parent must be a directory")
|
||||
NodeMemberTable.insertIgnore {
|
||||
it[this.node] = EntityID(node, SchematicNodeTable)
|
||||
it[this.userId] = EntityID(member, SteamwarUserTable)
|
||||
it[NodeMemberTable.parentNode] = parent.getId()
|
||||
}
|
||||
getNodeMember(node, member) ?: throw IllegalStateException("NodeMember not created")
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun createNodeMember(node: Int, member: SteamwarUser) = createNodeMember(node, member.id.value)
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@ class SchematicNode(id: EntityID<Int>) : IntEntity(id) {
|
||||
parentNodeId = value?.let { EntityID(it, SchematicNodeTable) }
|
||||
}
|
||||
val parentNode: SchematicNode?
|
||||
get() = parent?.let { findById(it) }
|
||||
get() = useDb { parent?.let { findById(it) } }
|
||||
|
||||
val optionalParent: Optional<Int> get() = Optional.ofNullable(parent)
|
||||
var lastUpdate by SchematicNodeTable.lastUpdate.transform({ it.toInstant() }, { Timestamp.from(it) })
|
||||
|
||||
@@ -97,9 +97,10 @@ public class Present {
|
||||
folder = null;
|
||||
}
|
||||
}
|
||||
NodeMember nodeMember = NodeMember.createNodeMember(schematicId, user.getId());
|
||||
if (folder != null) {
|
||||
nodeMember.setParentId(folder.getId());
|
||||
NodeMember.createNodeMember(schematicId, user.getId(), folder);
|
||||
} else {
|
||||
NodeMember.createNodeMember(schematicId, user.getId());
|
||||
}
|
||||
LobbySystem.getMessage().send("ADVENT_CALENDAR_OPEN", player, node.getName());
|
||||
player.playSound(location, Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1);
|
||||
|
||||
Reference in New Issue
Block a user