Skip to content

Commit 9175953

Browse files
authored
Merge pull request #518 from pylonmc/vaan/fix/pipe-dupe
Fix pipe TRANSMUTATION
2 parents 8ef17ce + 80e6c00 commit 9175953

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

pylon-core/src/main/kotlin/io/github/pylonmc/pylon/core/fluid/placement/FluidPipePlacementService.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import org.bukkit.event.EventHandler
1616
import org.bukkit.event.Listener
1717
import org.bukkit.event.player.PlayerItemHeldEvent
1818
import org.bukkit.event.player.PlayerQuitEvent
19+
import org.bukkit.event.player.PlayerSwapHandItemsEvent
1920
import org.bukkit.event.world.ChunkUnloadEvent
2021
import org.bukkit.inventory.EquipmentSlot
2122
import 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
*/

0 commit comments

Comments
 (0)