@@ -0,0 +1,740 @@
+package com.elytradev.teckle.common.worldnetwork;%0A%0Aimport net.minecraft.util.EnumFacing;%0Aimport net.minecraft.util.math.BlockPos;%0A%0Aimport java.util.Objects;%0A%0A/**%0A * Stores an endpoint position as well as the side that endpoint is being injected to.%0A */%0Apublic class EndpointData %7B%0A    public EnumFacing side;%0A    public BlockPos pos;%0A%0A    public EndpointData(BlockPos pos, EnumFacing side) %7B%0A        this.pos = pos;%0A        this.side = side;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) return true;%0A        if (o == null %7C%7C getClass() != o.getClass()) return false;%0A        EndpointData that = (EndpointData) o;%0A        return side == that.side &&%0A                Objects.equals(pos, that.pos);%0A    %7D%0A%7D

Add EndpointData so we can attempt multiple sides for injection.