org.bukkit.craftbukkit.CraftWorldBorder Maven / Gradle / Ivy
package org.bukkit.craftbukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.WorldBorder;
public class CraftWorldBorder implements WorldBorder {
private final World world;
private final net.minecraft.server.WorldBorder handle;
public CraftWorldBorder(CraftWorld world) {
this.world = world;
this.handle = world.getHandle().getWorldBorder();
}
@Override
public void reset() {
this.setSize(6.0E7D);
this.setDamageAmount(0.2D);
this.setDamageBuffer(5.0D);
this.setWarningDistance(5);
this.setWarningTime(15);
this.setCenter(0, 0);
}
@Override
public double getSize() {
return this.handle.getSize();
}
@Override
public void setSize(double newSize) {
this.setSize(newSize, 0L);
}
@Override
public void setSize(double newSize, long time) {
// PAIL: TODO: Magic Values
newSize = Math.min(6.0E7D, Math.max(1.0D, newSize));
time = Math.min(9223372036854775L, Math.max(0L, time));
if (time > 0L) {
this.handle.transitionSizeBetween(this.handle.getSize(), newSize, time * 1000L);
} else {
this.handle.setSize(newSize);
}
}
@Override
public Location getCenter() {
double x = this.handle.getCenterX();
double z = this.handle.getCenterZ();
return new Location(this.world, x, 0, z);
}
@Override
public void setCenter(Location location) {
this.setCenter(location.getX(), location.getZ());
}
@Override
public void setCenter(double x, double z) {
// PAIL: TODO: Magic Values
x = Math.min(3.0E7D, Math.max(-3.0E7D, x));
z = Math.min(3.0E7D, Math.max(-3.0E7D, z));
this.handle.setCenter(x, z);
}
@Override
public double getDamageBuffer() {
return this.handle.getDamageBuffer();
}
@Override
public void setDamageBuffer(double blocks) {
this.handle.setDamageBuffer(blocks);
}
@Override
public double getDamageAmount() {
return this.handle.getDamageAmount();
}
@Override
public void setDamageAmount(double damage) {
this.handle.setDamageAmount(damage);
}
@Override
public int getWarningTime() {
return this.handle.getWarningTime();
}
@Override
public void setWarningTime(int time) {
this.handle.setWarningTime(time);
}
@Override
public int getWarningDistance() {
return this.handle.getWarningDistance();
}
@Override
public void setWarningDistance(int distance) {
this.handle.setWarningDistance(distance);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy