diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/listener')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/listener/ParcelEntityTracker.kt | 5 | ||||
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/listener/ParcelListeners.kt | 9 |
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 } |