summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/listener
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/listener')
-rw-r--r--src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt5
-rw-r--r--src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt9
2 files changed, 6 insertions, 8 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt b/src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt
index 3785770..198e0e7 100644
--- a/src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt
+++ b/src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt
@@ -33,7 +33,7 @@ class ParcelEntityTracker(val parcelProvider: ParcelProvider) {
remove()
val newParcel = parcelProvider.getParcelAt(entity.location)
- if (newParcel !== parcel && !(newParcel != null && newParcel.hasBlockVisitors)) {
+ if (newParcel !== parcel && (newParcel == null || !newParcel.hasBlockVisitors)) {
entity.remove()
}
@@ -41,14 +41,13 @@ class ParcelEntityTracker(val parcelProvider: ParcelProvider) {
}
val newParcel = parcelProvider.getParcelAt(entity.location)
- if (newParcel !== parcel && !(newParcel != null && newParcel.hasBlockVisitors)) {
+ if (newParcel !== parcel && (newParcel == null || !newParcel.hasBlockVisitors)) {
remove()
entity.remove()
}
}
}
- @Suppress("RedundantLambdaArrow")
fun swapParcels(parcel1: Parcel, parcel2: Parcel) {
map.editLoop { ->
if (value === parcel1) {
diff --git a/src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt b/src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt
index 9805f40..9d91cda 100644
--- a/src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt
+++ b/src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt
@@ -196,11 +196,10 @@ class ParcelListeners(
when (event.action) {
Action.RIGHT_CLICK_BLOCK -> run {
val type = clickedBlock.type
- val interactable = Interactables.listedMaterials.containsKey(type)
- && (parcel.effectiveInteractableConfig.isInteractable(type) || (parcel != null && parcel.canBuild(user)))
- if (!interactable) {
- val interactableClassName = Interactables[type]!!.name
- user.sendParcelMessage(nopermit = true, message = "You cannot interact with $interactableClassName in this parcel")
+
+ val interactableClass = Interactables[type]
+ if (interactableClass != null && (parcel.effectiveInteractableConfig.isInteractable(type) || (parcel != null && parcel.canBuild(user)))) {
+ user.sendParcelMessage(nopermit = true, message = "You cannot interact with ${interactableClass.name} in this parcel")
event.isCancelled = true
return@l
}