добавлен ImmutableEntityLocation
This commit is contained in:
57
core/src/main/java/mc/core/ImmutableEntityLocation.java
Normal file
57
core/src/main/java/mc/core/ImmutableEntityLocation.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package mc.core;
|
||||
|
||||
public class ImmutableEntityLocation extends EntityLocation {
|
||||
public ImmutableEntityLocation(double x, double y, double z, float yaw, float pitch) {
|
||||
super(x, y, z, yaw, pitch);
|
||||
}
|
||||
|
||||
public ImmutableEntityLocation(EntityLocation location) {
|
||||
this(
|
||||
location.getX(),
|
||||
location.getY(),
|
||||
location.getZ(),
|
||||
location.getYaw(),
|
||||
location.getPitch()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setX(double x) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setY(double y) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setZ(double z) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setYaw(float yaw) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPitch(float pitch) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(EntityLocation location) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setXYZ(double x, double y, double z) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setYawPitch(float yaw, float pitch) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
@@ -5,20 +5,23 @@
|
||||
package mc.core.eventbus.events;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import mc.core.EntityLocation;
|
||||
import mc.core.ImmutableEntityLocation;
|
||||
import mc.core.eventbus.EventBase;
|
||||
import mc.core.player.Player;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public class CS_PlayerMoveEvent extends EventBase {
|
||||
private final Player player;
|
||||
private final EntityLocation oldLocation; // TODO сомнительное решение
|
||||
// вообще нужно будет создать реализацию "иммутабл локейшен" для подобных ситуаций
|
||||
private final ImmutableEntityLocation oldLocation;
|
||||
@Setter
|
||||
private EntityLocation newLocation;
|
||||
@Setter
|
||||
private boolean recalcChunk = false;
|
||||
|
||||
public CS_PlayerMoveEvent(Player player, EntityLocation oldLocation) {
|
||||
this.player = player;
|
||||
this.oldLocation = new ImmutableEntityLocation(oldLocation);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user