File tree Expand file tree Collapse file tree
pylon-core/src/main/kotlin/io/github/pylonmc/pylon/core/fluid/placement Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import org.bukkit.event.EventHandler
1616import org.bukkit.event.Listener
1717import org.bukkit.event.player.PlayerItemHeldEvent
1818import org.bukkit.event.player.PlayerQuitEvent
19+ import org.bukkit.event.player.PlayerSwapHandItemsEvent
1920import org.bukkit.event.world.ChunkUnloadEvent
2021import org.bukkit.inventory.EquipmentSlot
2122import java.util.UUID
@@ -164,6 +165,23 @@ internal object FluidPipePlacementService : Listener {
164165 }
165166 }
166167
168+ @EventHandler
169+ private fun onSwap (event : PlayerSwapHandItemsEvent ) {
170+ if (! connectionsInProgress.containsKey(event.getPlayer())) return
171+
172+ val mainHandPylon = PylonItem .fromStack(event.mainHandItem)
173+ if (mainHandPylon is FluidPipe ) {
174+ event.isCancelled = true
175+ return
176+ }
177+
178+ val otherHandPylon = PylonItem .fromStack(event.offHandItem)
179+ if (otherHandPylon is FluidPipe ) {
180+ event.isCancelled = true
181+ return
182+ }
183+ }
184+
167185 /* *
168186 * Intended to prevent issues if players teleport away while placing a pipe
169187 */
You can’t perform that action at this time.
0 commit comments