2018-02-16 02:49:01 +00:00
|
|
|
package WayofTime.bloodmagic.teleport;
|
2016-02-18 16:25:11 +00:00
|
|
|
|
|
|
|
import net.minecraft.entity.Entity;
|
2016-03-17 20:00:44 +00:00
|
|
|
import net.minecraft.util.math.BlockPos;
|
2016-02-18 16:25:11 +00:00
|
|
|
|
2017-08-16 04:30:48 +00:00
|
|
|
public abstract class Teleport implements ITeleport {
|
2016-02-18 16:25:11 +00:00
|
|
|
protected int x;
|
|
|
|
protected int y;
|
|
|
|
protected int z;
|
|
|
|
protected Entity entity;
|
|
|
|
protected String networkToDrain;
|
|
|
|
|
2017-08-16 04:30:48 +00:00
|
|
|
public Teleport(int x, int y, int z, Entity entity, String networkToDrain) {
|
2016-02-18 16:25:11 +00:00
|
|
|
this.x = x;
|
|
|
|
this.y = y;
|
|
|
|
this.z = z;
|
|
|
|
this.entity = entity;
|
|
|
|
this.networkToDrain = networkToDrain;
|
|
|
|
}
|
|
|
|
|
2017-08-16 04:30:48 +00:00
|
|
|
public Teleport(BlockPos blockPos, Entity entity, String networkToDrain) {
|
2016-02-18 16:25:11 +00:00
|
|
|
this(blockPos.getX(), blockPos.getY(), blockPos.getZ(), entity, networkToDrain);
|
|
|
|
}
|
2017-08-16 03:21:54 +00:00
|
|
|
|
|
|
|
public int getX() {
|
|
|
|
return x;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getY() {
|
|
|
|
return y;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getZ() {
|
|
|
|
return z;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Entity getEntity() {
|
|
|
|
return entity;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getNetworkToDrain() {
|
|
|
|
return networkToDrain;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean equals(Object o) {
|
|
|
|
if (this == o) return true;
|
|
|
|
if (!(o instanceof Teleport)) return false;
|
|
|
|
|
|
|
|
Teleport teleport = (Teleport) o;
|
|
|
|
|
|
|
|
if (x != teleport.x) return false;
|
|
|
|
if (y != teleport.y) return false;
|
|
|
|
if (z != teleport.z) return false;
|
|
|
|
if (entity != null ? !entity.equals(teleport.entity) : teleport.entity != null) return false;
|
|
|
|
return networkToDrain != null ? networkToDrain.equals(teleport.networkToDrain) : teleport.networkToDrain == null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int hashCode() {
|
|
|
|
int result = x;
|
|
|
|
result = 31 * result + y;
|
|
|
|
result = 31 * result + z;
|
|
|
|
result = 31 * result + (entity != null ? entity.hashCode() : 0);
|
|
|
|
result = 31 * result + (networkToDrain != null ? networkToDrain.hashCode() : 0);
|
|
|
|
return result;
|
|
|
|
}
|
2016-02-18 16:25:11 +00:00
|
|
|
}
|