fix dimension names
This commit is contained in:
parent
d09b9516a8
commit
cad8ff6adb
44 changed files with 147 additions and 140 deletions
|
@ -1718,7 +1718,7 @@ public class Client implements IThreadListener {
|
|||
ChunkClient chunk = this.world.getChunk(blockpos);
|
||||
biome = chunk.getBiome(blockpos);
|
||||
bline = "Biom: " + biome.display + " (" + biome.name + "), D: " +
|
||||
TextColor.stripCodes(this.world.dimension.getFormattedName(false)) +
|
||||
TextColor.stripCodes(this.world.dimension.getNameString()) +
|
||||
" (" + (this.dimensionName == null ? UniverseRegistry.getName(this.world.dimension) : this.dimensionName) + ")";
|
||||
lline = "Licht: " + chunk.getLightSub(blockpos, 0) + " (" + chunk.getLight(LightType.SKY, blockpos) + " Himmel, "
|
||||
+ chunk.getLight(LightType.BLOCK, blockpos) + " Blöcke, " + String.format(
|
||||
|
@ -1727,7 +1727,7 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
else {
|
||||
bline = "Biom: <?>, D: " +
|
||||
TextColor.stripCodes(this.world.dimension.getFormattedName(false)) +
|
||||
TextColor.stripCodes(this.world.dimension.getNameString()) +
|
||||
" (" + (this.dimensionName == null ? UniverseRegistry.getName(this.world.dimension) : this.dimensionName) + ")";
|
||||
lline = "Licht: " + String.format(
|
||||
"%.1f", this.world.getSunBrightness(1.0f) * 15.0f) + " Welt, A: "
|
||||
|
|
|
@ -454,10 +454,8 @@ public class GuiChar extends GuiList<GuiChar.SkinEntry>
|
|||
|
||||
private void setDimButton() {
|
||||
Dimension dim = DIMENSIONS.get(this.dimension);
|
||||
this.dimButton.setText((dim.getType() == DimType.PLANET ? "Heimplanet" : "Heimdimension") + ": " + dim.getFormattedName(false));
|
||||
String name = dim.getFormattedName(true);
|
||||
int index = name.indexOf(" / ");
|
||||
this.descLines.setText(index >= 0 ? Util.buildLines(name.substring(index + " / ".length()).split(" / ")) : "");
|
||||
this.dimButton.setText((dim.getType() == DimType.PLANET ? "Heimplanet" : "Heimdimension") + ": " + dim.getNameString());
|
||||
this.descLines.setText(Util.buildLines(dim.getBaseNames()));
|
||||
}
|
||||
|
||||
public void onGuiClosed()
|
||||
|
|
|
@ -76,7 +76,7 @@ public class GuiCharacters extends GuiList<GuiCharacters.CharacterEntry> impleme
|
|||
this.elements.clear();
|
||||
int selected = this.gm.selectedCharacter;
|
||||
for(PlayerCharacter character : this.gm.characterList) {
|
||||
this.elements.add(new CharacterEntry(selected == this.elements.size() ? new PlayerCharacter(character.name(), character.info(), character.align(), this.gm.player.worldObj.dimension.getFormattedName(false), this.gm.player.getPosition(), character.type(), this.gm.player.experienceLevel) : character, selected == this.elements.size()));
|
||||
this.elements.add(new CharacterEntry(selected == this.elements.size() ? new PlayerCharacter(character.name(), character.info(), character.align(), this.gm.player.worldObj.dimension.getNameString(), this.gm.player.getPosition(), character.type(), this.gm.player.experienceLevel) : character, selected == this.elements.size()));
|
||||
}
|
||||
if(!this.gm.charEditor)
|
||||
this.elements.add(new CharacterEntry(null, false));
|
||||
|
|
|
@ -21,7 +21,7 @@ public class GuiGameOver extends Gui {
|
|||
public void init(int width, int height) {
|
||||
this.timer = 0;
|
||||
this.add(new Label(0, 0, 400, 0, TextColor.DRED + "Du bist gestorben!"));
|
||||
this.add(new MultiLabel(0, 32, 400, 42, String.format(TextColor.GREEN + "Letzte Position" + TextColor.GRAY + ":\n" + TextColor.YELLOW + "%d, %d, %d\n" + TextColor.YELLOW + "%s", ExtMath.floord(this.gm.player.posX), ExtMath.floord(this.gm.player.posY), ExtMath.floord(this.gm.player.posZ), this.gm.player.worldObj.dimension.getFormattedName(false))));
|
||||
this.add(new MultiLabel(0, 32, 400, 42, String.format(TextColor.GREEN + "Letzte Position" + TextColor.GRAY + ":\n" + TextColor.YELLOW + "%d, %d, %d\n" + TextColor.YELLOW + "%s", ExtMath.floord(this.gm.player.posX), ExtMath.floord(this.gm.player.posY), ExtMath.floord(this.gm.player.posZ), this.gm.player.worldObj.dimension.getNameString())));
|
||||
this.button = this.add(new ActButton(100, 100, 200, 0, new ButtonCallback() {
|
||||
public void use(ActButton elem, PressType action) {
|
||||
GuiGameOver.this.gm.player.respawnPlayer();
|
||||
|
|
|
@ -18,7 +18,7 @@ public class GuiSign extends Gui implements FieldCallback {
|
|||
public void init(int width, int height) {
|
||||
this.add(new Label(0, -140, 300, 0, "Bearbeite Schild"));
|
||||
this.add(new Label(0, -80, 300, 0, String.format("%d, %d, %d", this.position.getX(), this.position.getY(), this.position.getZ())));
|
||||
this.add(new Label(0, -50, 300, 0, this.gm.world == null ? "<?>" : this.gm.world.dimension.getFormattedName(false)));
|
||||
this.add(new Label(0, -50, 300, 0, this.gm.world == null ? "<?>" : this.gm.world.dimension.getNameString()));
|
||||
for(int z = 0; z < this.lines.length; z++) {
|
||||
this.lines[z] = this.add(new Field(0, 40 * z, 300, 0, 50, this, this.tempLines[z] == null ? "" : this.tempLines[z]));
|
||||
}
|
||||
|
|
|
@ -1917,7 +1917,7 @@ public class ClientPlayer implements IClientPlayer
|
|||
NetHandler.checkThread(packet, this, this.gm, this.world);
|
||||
if(this.world.dimension.isCustom()) {
|
||||
this.world.dimension.setCustomName(packet.getCustomName());
|
||||
this.world.dimension.setDisplayName(packet.getFullName());
|
||||
this.world.dimension.setBaseNames(packet.getFullName());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ public class BlockBed extends Block implements Rotatable {
|
|||
&& Math.abs(player.posY - (double)pos.getY()) <= 2.0D && Math.abs(player.posZ - (double)pos.getZ()) <= 3.0D) {
|
||||
player.setSpawnPoint(new WorldPos(pos, player.worldObj));
|
||||
player.connection.addHotbar(TextColor.DGREEN + "Dein Einstiegspunkt wurde auf %s bei [%s, %s, %s] gesetzt",
|
||||
player.worldObj.dimension.getFormattedName(false), player.getSpawnPoint().getX(),
|
||||
player.worldObj.dimension.getNameString(), player.getSpawnPoint().getX(),
|
||||
player.getSpawnPoint().getY(), player.getSpawnPoint().getZ());
|
||||
}
|
||||
// else if(!Config.bedSpawn) {
|
||||
|
|
|
@ -160,7 +160,7 @@ public abstract class Dimension extends Nameable {
|
|||
private SkyboxType skyboxTexture = null;
|
||||
private ColorGenerator starColorFunc = null;
|
||||
private ColorGenerator deepstarColorFunc = null;
|
||||
private String display; // synced only
|
||||
private String[] baseNames; // synced only
|
||||
private int sunColor = 0xffffffff;
|
||||
private int[] moonColors = null;
|
||||
|
||||
|
@ -866,12 +866,38 @@ public abstract class Dimension extends Nameable {
|
|||
return !this.getType().days;
|
||||
}
|
||||
|
||||
public final void setDisplayName(String display) {
|
||||
this.display = display;
|
||||
public final void setBaseNames(String[] names) {
|
||||
this.baseNames = names;
|
||||
}
|
||||
|
||||
public final String getFormattedName(boolean full) {
|
||||
return this.display != null ? (full ? this.display : this.getNameString()) : UniverseRegistry.getFormattedName(this, full);
|
||||
public final String[] getBaseNames() {
|
||||
if(this.baseNames != null)
|
||||
return this.baseNames;
|
||||
String planet = null;
|
||||
String star = null;
|
||||
Dimension dim = this;
|
||||
switch(this.getType()) {
|
||||
case MOON:
|
||||
dim = UniverseRegistry.getPlanet((Moon)dim);
|
||||
planet = dim.getNameString();
|
||||
case PLANET:
|
||||
dim = UniverseRegistry.getStar((Planet)dim);
|
||||
star = dim.getNameString();
|
||||
case STAR:
|
||||
Sector sector = UniverseRegistry.getSector((Star)dim);
|
||||
String sect = sector.getNameString();
|
||||
String galaxy = UniverseRegistry.getGalaxy(sector).getNameString();
|
||||
if(planet != null)
|
||||
return new String[] {planet, star, sect, galaxy};
|
||||
else if(star != null)
|
||||
return new String[] {star, sect, galaxy};
|
||||
else
|
||||
return new String[] {sect, galaxy};
|
||||
case AREA:
|
||||
return new String[] {UniverseRegistry.getDomain((Area)dim).getNameString()};
|
||||
default:
|
||||
return new String[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -21,12 +21,11 @@ import common.dimension.Semi;
|
|||
import common.dimension.Space;
|
||||
import common.dimension.Star;
|
||||
import common.world.Weather;
|
||||
import common.world.World;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class UniverseRegistry {
|
||||
public static final long EARTH_YEAR = 8766144L;
|
||||
|
||||
private static final List<Dimension> DIMENSIONS = Lists.newArrayList();
|
||||
private static final Map<Integer, Dimension> ID_MAP = Maps.newTreeMap();
|
||||
private static final Map<Dimension, Integer> IDS = new IdentityHashMap();
|
||||
|
@ -123,35 +122,13 @@ public abstract class UniverseRegistry {
|
|||
public static Set<String> getWorldNames() {
|
||||
return NAME_LIST;
|
||||
}
|
||||
|
||||
public static String getFormattedName(Dimension dim, boolean full) {
|
||||
String base = dim.getNameString();
|
||||
if(!full)
|
||||
return base;
|
||||
switch(dim.getType()) {
|
||||
case MOON:
|
||||
dim = MOON_MAP.get(dim);
|
||||
base += " / " + dim.getNameString();
|
||||
case PLANET:
|
||||
dim = PLANET_MAP.get(dim);
|
||||
base += " / " + dim.getNameString();
|
||||
case STAR:
|
||||
Sector sector = STAR_MAP.get(dim);
|
||||
base += " / " + sector.getNameString();
|
||||
return base + " / " + SECTOR_MAP.get(sector).getNameString();
|
||||
case AREA:
|
||||
return base + " / " + AREA_MAP.get(dim).getNameString();
|
||||
default:
|
||||
return base;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isRegistered(String name) {
|
||||
return GALAXIES.containsKey(name) || SECTORS.containsKey(name) || DOMAINS.containsKey(name) || NAME_MAP.containsKey(name);
|
||||
}
|
||||
|
||||
public static boolean isDimension(String name) {
|
||||
return NAME_MAP.containsKey(name);
|
||||
public static boolean isType(String name, DimType type) {
|
||||
return NAME_MAP.containsKey(name) && NAME_MAP.get(name).getType() == type;
|
||||
}
|
||||
|
||||
public static Galaxy registerCustomGalaxy(String name, String display) {
|
||||
|
@ -304,7 +281,7 @@ public abstract class UniverseRegistry {
|
|||
registerGalaxy("milkyway", "Milchstraße");
|
||||
registerSector("solar", "Solar", "milkyway");
|
||||
registerStar("sol", "Sol", new Star(0xff7f00, 274.0f, 5778.0f, Blocks.lava.getState(), 128).setTimeQualifier(1), "solar");
|
||||
registerPlanet("terra", "Terra", new Planet(0xffffffff, 0xc0d8ff, 0xffffff, UniverseRegistry.EARTH_YEAR, 24000L, 28.0f, 9.81f,
|
||||
registerPlanet("terra", "Terra", new Planet(0xffffffff, 0xc0d8ff, 0xffffff, World.EARTH_YEAR, 24000L, 28.0f, 9.81f,
|
||||
259.15f).setTimeQualifier(0)
|
||||
.setPerlinGen(Blocks.stone.getState(), Blocks.water.getState(), 63)
|
||||
.setBiomeReplacer(Blocks.gravel.getState())
|
||||
|
|
|
@ -65,7 +65,7 @@ public class ItemCharTemplate extends Item
|
|||
|
||||
public void addInformation(ItemStack stack, EntityNPC player, List<String> tooltip) {
|
||||
Dimension dim = this.spawned.species.origin == null ? null : UniverseRegistry.getDimension(this.spawned.species.origin);
|
||||
tooltip.add(TextColor.ORANGE + "Herkunft: " + (dim == null ? "???" : dim.getFormattedName(false)));
|
||||
tooltip.add(TextColor.ORANGE + "Herkunft: " + (dim == null ? "???" : dim.getNameString()));
|
||||
}
|
||||
|
||||
public boolean onItemUse(ItemStack stack, EntityNPC playerIn, World worldIn, BlockPos pos, Facing side, float hitX, float hitY, float hitZ)
|
||||
|
|
|
@ -57,7 +57,7 @@ public class ItemMobTemplate extends Item
|
|||
EntityInfo egg = EntityRegistry.DNA.get(this.entityId);
|
||||
if(egg != null) {
|
||||
Dimension dim = egg.origin() == null ? null : UniverseRegistry.getDimension(egg.origin());
|
||||
tooltip.add(TextColor.ORANGE + "Herkunft: " + (dim == null ? "???" : dim.getFormattedName(false)));
|
||||
tooltip.add(TextColor.ORANGE + "Herkunft: " + (dim == null ? "???" : dim.getNameString()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,9 +23,9 @@ public class ItemExterminator extends ItemMagnetic {
|
|||
if(world.dimension == Space.INSTANCE)
|
||||
player.connection.addHotbar(TextColor.RED + "Der Weltraum kann nicht zerstört werden (lol)");
|
||||
else if(!((AWorldServer)world).exterminate())
|
||||
player.connection.addHotbar(TextColor.YELLOW + "Die Welt %s ist bereits zerstört", world.dimension.getFormattedName(false));
|
||||
player.connection.addHotbar(TextColor.YELLOW + "Die Welt %s ist bereits zerstört", world.dimension.getNameString());
|
||||
else
|
||||
player.connection.addHotbar(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getFormattedName(false));
|
||||
player.connection.addHotbar(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getNameString());
|
||||
|
||||
// if (!playerIn.capabilities.isCreativeMode)
|
||||
// {
|
||||
|
|
|
@ -16,7 +16,7 @@ public class ItemScanner extends ItemWand {
|
|||
public void onUse(ItemStack stack, EntityNPC player, AWorldServer world, Vec3 vec)
|
||||
{
|
||||
Biome biome = world.getBiomeGenForCoords(new BlockPos(vec.xCoord, 0, vec.zCoord));
|
||||
player.connection.addHotbar(TextColor.NEON + "* Position in %s: %.3f %.3f %.3f, %s, %.2f °C", world.dimension.getFormattedName(false),
|
||||
player.connection.addHotbar(TextColor.NEON + "* Position in %s: %.3f %.3f %.3f, %s, %.2f °C", world.dimension.getNameString(),
|
||||
vec.xCoord, vec.yCoord, vec.zCoord,
|
||||
biome.display, world.getTemperatureC(new BlockPos(vec)));
|
||||
}
|
||||
|
|
|
@ -4,48 +4,31 @@ import java.util.List;
|
|||
|
||||
import common.color.TextColor;
|
||||
import common.entity.npc.EntityNPC;
|
||||
import common.init.UniverseRegistry;
|
||||
import common.item.ItemMagnetic;
|
||||
import common.item.ItemStack;
|
||||
import common.util.BlockPos;
|
||||
import common.world.World;
|
||||
|
||||
public class ItemSpaceNavigator extends ItemMagnetic {
|
||||
public static String formatImperialTime(World world, boolean days) {
|
||||
long time = world.getDayTime();
|
||||
long year = time / UniverseRegistry.EARTH_YEAR;
|
||||
long frac = (time * 1000L / UniverseRegistry.EARTH_YEAR) % 1000L;
|
||||
if(!world.dimension.getType().time) {
|
||||
return String.format("%d.%03d.%03d.M%d" + (days ? " T???.??? D???.???.G?" : ""), world.dimension.getTimeQualifier(),
|
||||
frac, year % 1000L, year / 1000L + 1L);
|
||||
}
|
||||
long day = time / world.dimension.getRotationalPeriod();
|
||||
time = time % world.dimension.getRotationalPeriod();
|
||||
return String.format("%d.%03d.%03d.M%d" + (days ? " T%03d.%03d D%03d.%03d.G%d" : ""), world.dimension.getTimeQualifier(),
|
||||
frac, year % 1000L, year / 1000L + 1L,
|
||||
time / 1000L, time % 1000L, (day / 1000L) % 1000L, day % 1000L, day / 1000000L);
|
||||
}
|
||||
|
||||
public ItemSpaceNavigator() {
|
||||
public ItemSpaceNavigator() {
|
||||
this.setUnstackable();
|
||||
this.setColor(TextColor.DGREEN);
|
||||
}
|
||||
|
||||
public String getHotbarText(EntityNPC player, ItemStack stack) {
|
||||
BlockPos pos = player.getPosition();
|
||||
return TextColor.ORANGE + formatImperialTime(player.worldObj, false) + " / " +
|
||||
String.format("%s bei %d, %d, %d", player.worldObj.dimension.getFormattedName(false) + TextColor.ORANGE,
|
||||
return TextColor.ORANGE + player.worldObj.formatImperialTime(false) + " / " +
|
||||
String.format("%s bei %d, %d, %d", player.worldObj.dimension.getNameString() + TextColor.ORANGE,
|
||||
pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
public void addInformation(ItemStack stack, EntityNPC player, List<String> tooltip) {
|
||||
tooltip.add(TextColor.ORANGE + formatImperialTime(player.worldObj, true));
|
||||
String[] dims = TextColor.stripCodes(player.worldObj.dimension.getFormattedName(true)).split(" / ");
|
||||
for(int z = dims.length - 1; z > 0; z--) {
|
||||
tooltip.add(TextColor.ORANGE + player.worldObj.formatImperialTime(true));
|
||||
String[] dims = player.worldObj.dimension.getBaseNames();
|
||||
for(int z = dims.length - 1; z >= 0; z--) {
|
||||
tooltip.add(TextColor.ORANGE + dims[z]);
|
||||
}
|
||||
BlockPos pos = player.getPosition();
|
||||
tooltip.add(TextColor.ORANGE + String.format("%s bei %d, %d, %d", player.worldObj.dimension.getFormattedName(false)
|
||||
tooltip.add(TextColor.ORANGE + String.format("%s bei %d, %d, %d", player.worldObj.dimension.getNameString()
|
||||
+ TextColor.ORANGE, pos.getX(), pos.getY(), pos.getZ()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,14 +8,14 @@ import common.network.Packet;
|
|||
import common.network.PacketBuffer;
|
||||
|
||||
public class SPacketDimensionName implements Packet<IClientPlayer> {
|
||||
private String fullName;
|
||||
private String[] fullName;
|
||||
private String customName;
|
||||
|
||||
public SPacketDimensionName() {
|
||||
}
|
||||
|
||||
public SPacketDimensionName(Dimension dim) {
|
||||
this.fullName = dim.getFormattedName(true);
|
||||
this.fullName = dim.getBaseNames();
|
||||
this.customName = dim.getCustomName();
|
||||
}
|
||||
|
||||
|
@ -24,16 +24,22 @@ public class SPacketDimensionName implements Packet<IClientPlayer> {
|
|||
}
|
||||
|
||||
public void readPacketData(PacketBuffer buf) throws IOException {
|
||||
this.fullName = buf.readString(4096);
|
||||
this.fullName = new String[buf.readByte()];
|
||||
for(int z = 0; z < this.fullName.length; z++) {
|
||||
this.fullName[z] = buf.readString(1024);
|
||||
}
|
||||
this.customName = buf.readString(1024);
|
||||
}
|
||||
|
||||
public void writePacketData(PacketBuffer buf) throws IOException {
|
||||
buf.writeString(this.fullName);
|
||||
buf.writeByte(this.fullName.length);
|
||||
for(int z = 0; z < this.fullName.length; z++) {
|
||||
buf.writeString(this.fullName[z]);
|
||||
}
|
||||
buf.writeString(this.customName);
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
public String[] getFullName() {
|
||||
return this.fullName;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ public class SPacketRespawn implements Packet<IClientPlayer> {
|
|||
private TagObject dimData;
|
||||
private String dimName;
|
||||
private String dimDisplay;
|
||||
private String dimFull;
|
||||
private String[] dimFull;
|
||||
private int sunColor;
|
||||
private int[] moonColors;
|
||||
private int type;
|
||||
|
@ -39,7 +39,7 @@ public class SPacketRespawn implements Packet<IClientPlayer> {
|
|||
if(dim.isCustom()) {
|
||||
this.dimName = UniverseRegistry.getName(dim);
|
||||
this.dimDisplay = dim.getCustomName();
|
||||
this.dimFull = dim.getFormattedName(true);
|
||||
this.dimFull = dim.getBaseNames();
|
||||
this.dimId = -1;
|
||||
}
|
||||
else {
|
||||
|
@ -70,7 +70,10 @@ public class SPacketRespawn implements Packet<IClientPlayer> {
|
|||
if(this.dimId == -1) {
|
||||
this.dimName = buf.readString(1024);
|
||||
this.dimDisplay = buf.readString(1024);
|
||||
this.dimFull = buf.readString(4096);
|
||||
this.dimFull = new String[buf.readByte()];
|
||||
for(int z = 0; z < this.dimFull.length; z++) {
|
||||
this.dimFull[z] = buf.readString(1024);
|
||||
}
|
||||
}
|
||||
this.type = buf.readUnsignedShort();
|
||||
this.editor = buf.readBoolean();
|
||||
|
@ -92,7 +95,10 @@ public class SPacketRespawn implements Packet<IClientPlayer> {
|
|||
if(this.dimId == -1) {
|
||||
buf.writeString(this.dimName);
|
||||
buf.writeString(this.dimDisplay);
|
||||
buf.writeString(this.dimFull);
|
||||
buf.writeByte(this.dimFull.length);
|
||||
for(int z = 0; z < this.dimFull.length; z++) {
|
||||
buf.writeString(this.dimFull[z]);
|
||||
}
|
||||
}
|
||||
buf.writeShort(this.type & 65535);
|
||||
buf.writeBoolean(this.editor);
|
||||
|
@ -110,7 +116,7 @@ public class SPacketRespawn implements Packet<IClientPlayer> {
|
|||
if(!dim.isCustom())
|
||||
return dim;
|
||||
dim.setCustomName(this.dimDisplay);
|
||||
dim.setDisplayName(this.dimFull);
|
||||
dim.setBaseNames(this.dimFull);
|
||||
return dim;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,6 @@ public abstract class Util {
|
|||
public static final boolean DEVMODE = System.getProperty("runtime.devmode") != null;
|
||||
public static final int PROTOCOL = Version.MAJOR << 16 | Version.MINOR << 8 | Version.PATCH;
|
||||
public static final String VERSION = "v" + Version.MAJOR + "." + Version.MINOR + "." + Version.PATCH + Version.RELEASE;
|
||||
|
||||
private static final String[] TIERS = new String[] {"II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"};
|
||||
|
||||
private static boolean crashed;
|
||||
|
|
|
@ -56,6 +56,7 @@ public abstract class World implements IWorldAccess {
|
|||
public static final int MAX_SIZE_Y = 4096;
|
||||
public static final long START_TIME = 4385238000L;
|
||||
public static final float ABSOLUTE_ZERO = -273.15f;
|
||||
public static final long EARTH_YEAR = 8766144L;
|
||||
// private static final Calendar calendar = Calendar.getInstance();
|
||||
// private static long lastUpdate;
|
||||
|
||||
|
@ -132,6 +133,21 @@ public abstract class World implements IWorldAccess {
|
|||
this.gravity = Math.signum(this.gravity) * 0.075;
|
||||
}
|
||||
|
||||
public String formatImperialTime(boolean days) {
|
||||
long time = this.daytime;
|
||||
long year = time / EARTH_YEAR;
|
||||
long frac = (time * 1000L / EARTH_YEAR) % 1000L;
|
||||
if(!this.dimension.getType().time) {
|
||||
return String.format("%d.%03d.%03d.M%d" + (days ? " T???.??? D???.???.G?" : ""), this.dimension.getTimeQualifier(),
|
||||
frac, year % 1000L, year / 1000L + 1L);
|
||||
}
|
||||
long day = time / this.dimension.getRotationalPeriod();
|
||||
time = time % this.dimension.getRotationalPeriod();
|
||||
return String.format("%d.%03d.%03d.M%d" + (days ? " T%03d.%03d D%03d.%03d.G%d" : ""), this.dimension.getTimeQualifier(),
|
||||
frac, year % 1000L, year / 1000L + 1L,
|
||||
time / 1000L, time % 1000L, (day / 1000L) % 1000L, day % 1000L, day / 1000000L);
|
||||
}
|
||||
|
||||
public abstract Biome getBiomeGenForCoords(BlockPos pos);
|
||||
|
||||
public boolean isAirBlock(BlockPos pos) {
|
||||
|
|
|
@ -300,9 +300,7 @@ public final class Server implements IThreadListener, Executor {
|
|||
}
|
||||
}
|
||||
|
||||
private static TagObject writeDimensions() {
|
||||
TagObject tag = new TagObject();
|
||||
|
||||
private static void writeDimensions(TagObject tag) {
|
||||
List<TagObject> list = Lists.newArrayList();
|
||||
for(Dimension dim : UniverseRegistry.getDimensions()) {
|
||||
if(dim.isCustom()) {
|
||||
|
@ -357,31 +355,29 @@ public final class Server implements IThreadListener, Executor {
|
|||
}
|
||||
if(!list.isEmpty())
|
||||
tag.setList("Dimensions", list);
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
private void saveServerConfig(long time) {
|
||||
TagObject data = new TagObject();
|
||||
data.setLong("Time", time);
|
||||
data.setLong("LastAccess", System.currentTimeMillis());
|
||||
data.setString("Version", Util.VERSION);
|
||||
TagObject tag = new TagObject();
|
||||
tag.setLong("Time", time);
|
||||
tag.setLong("LastAccess", System.currentTimeMillis());
|
||||
tag.setString("Version", Util.VERSION);
|
||||
TagObject cfg = new TagObject();
|
||||
for(String cvar : this.variables.keySet()) {
|
||||
SVar value = this.variables.get(cvar);
|
||||
if(!value.noDef || !value.def.equals(value.get()))
|
||||
cfg.setString(cvar, value.get());
|
||||
}
|
||||
data.setObject("Config", cfg);
|
||||
data.setObject("Universe", writeDimensions());
|
||||
tag.setObject("Config", cfg);
|
||||
writeDimensions(tag);
|
||||
if(this.keyPair != null) {
|
||||
data.setByteArray("PrivateKey", this.keyPair.getPrivate().getEncoded());
|
||||
data.setByteArray("PublicKey", this.keyPair.getPublic().getEncoded());
|
||||
tag.setByteArray("PrivateKey", this.keyPair.getPrivate().getEncoded());
|
||||
tag.setByteArray("PublicKey", this.keyPair.getPublic().getEncoded());
|
||||
}
|
||||
File nfile = new File("server.cdt.tmp");
|
||||
File lfile = new File("server.cdt");
|
||||
try {
|
||||
TagObject.writeGZip(data, nfile);
|
||||
TagObject.writeGZip(tag, nfile);
|
||||
if(lfile.exists())
|
||||
lfile.delete();
|
||||
nfile.renameTo(lfile);
|
||||
|
@ -404,7 +400,7 @@ public final class Server implements IThreadListener, Executor {
|
|||
if(svar != null)
|
||||
svar.set(cfg.getString(key), false, false);
|
||||
}
|
||||
readDimensions(tag.getObject("Universe"));
|
||||
readDimensions(tag);
|
||||
long lastPlayed = tag.getLong("LastAccess");
|
||||
String version = tag.hasString("Version") ? tag.getString("Version") : null;
|
||||
version = version != null && version.isEmpty() ? "<unbekannt>" : version;
|
||||
|
@ -444,7 +440,7 @@ public final class Server implements IThreadListener, Executor {
|
|||
}
|
||||
dim.readData(tag == null ? new TagObject() : tag);
|
||||
if(tag == null || !tag.hasLong("Seed"))
|
||||
Log.TICK.info("Startwert für %s: %d" + (Vars.seed.isEmpty() ? "" : " von Basiswert '%s'"), dim.getFormattedName(false), dim.getSeed(), Vars.seed);
|
||||
Log.TICK.info("Startwert für %s: %d" + (Vars.seed.isEmpty() ? "" : " von Basiswert '%s'"), dim.getNameString(), dim.getSeed(), Vars.seed);
|
||||
}
|
||||
|
||||
private void saveDimension(Dimension dim) {
|
||||
|
@ -1085,7 +1081,7 @@ public final class Server implements IThreadListener, Executor {
|
|||
if(message != null)
|
||||
conn.addHotbar(TextColor.DRED + message);
|
||||
conn.addFeed(TextColor.RED + "* Bei %d, %d, %d in Dimension %s gestorben", pos.getX(), pos.getY(), pos.getZ(),
|
||||
old.worldObj.dimension.getFormattedName(false));
|
||||
old.worldObj.dimension.getNameString());
|
||||
}
|
||||
|
||||
public TagObject swapPlayer(Player conn, TagObject tag, Class<? extends EntityNPC> clazz) {
|
||||
|
|
|
@ -20,7 +20,7 @@ public class WorldParser extends DimensionParser {
|
|||
Dimension dim = (Dimension)super.parse(env, input);
|
||||
WorldServer world = this.loadedOnly ? env.getServer().getWorldNoLoad(dim) : env.getServer().getWorld(dim);
|
||||
if(world == null)
|
||||
throw new RunException("Dimension '%s' ist nicht geladen", dim.getFormattedName(false));
|
||||
throw new RunException("Dimension '%s' ist nicht geladen", dim.getNameString());
|
||||
return world;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ public class WorldParser extends DimensionParser {
|
|||
return null;
|
||||
return this.loadedOnly ? env.getServer().getWorldNoLoad(dim) : env.getServer().getWorld(dim);
|
||||
// if(world == null)
|
||||
// throw new ScriptException("Dimension '%s' ist nicht geladen", dim.getFormattedName(false));
|
||||
// throw new ScriptException("Dimension '%s' ist nicht geladen", dim.getNameString());
|
||||
// return world;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ public class CommandBlock extends Command {
|
|||
}
|
||||
}
|
||||
if(success)
|
||||
exec.log("%s bei %d, %d, %d in %s gesetzt", state.getBlock().getDisplay(), position.getX(), position.getY(), position.getZ(), world.dimension.getFormattedName(false));
|
||||
exec.log("%s bei %d, %d, %d in %s gesetzt", state.getBlock().getDisplay(), position.getX(), position.getY(), position.getZ(), world.dimension.getNameString());
|
||||
else
|
||||
exec.log("Block wurde nicht verändert");
|
||||
return success;
|
||||
|
|
|
@ -27,7 +27,7 @@ public class CommandDeathspot extends Command {
|
|||
throw new RunException("%s hat keinen letzten Todespunkt", player.getCommandName());
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(pos);
|
||||
exec.log("%s zum Todespunkt von %s (%d, %d, %d in %s) teleportiert", entity.getCommandName(), player.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s zum Todespunkt von %s (%d, %d, %d in %s) teleportiert", entity.getCommandName(), player.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -20,6 +20,6 @@ public class CommandDelwarp extends Command {
|
|||
throw new RunException("Warp '%s' existiert nicht", warp);
|
||||
Position pos = env.getServer().getWarps().remove(warp);
|
||||
Dimension wdim = pos.getDimension();
|
||||
exec.log("Warp %s bei %d, %d, %d in %s entfernt", warp, ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), wdim == null ? "<?>" : wdim.getFormattedName(false));
|
||||
exec.log("Warp %s bei %d, %d, %d in %s entfernt", warp, ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), wdim == null ? "<?>" : wdim.getNameString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,13 +28,13 @@ public class CommandEntity extends Command {
|
|||
entity.writeTags(etag);
|
||||
if(tag == null) {
|
||||
exec.log("************************************************************");
|
||||
exec.log("Daten von %s bei %d, %d, %d in %s:", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getFormattedName(false));
|
||||
exec.log("Daten von %s bei %d, %d, %d in %s:", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getNameString());
|
||||
exec.log(etag.format(4));
|
||||
}
|
||||
else {
|
||||
etag.merge(tag);
|
||||
entity.readTags(etag);
|
||||
exec.log("Daten von %s bei %d, %d, %d in %s geändert", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getFormattedName(false));
|
||||
exec.log("Daten von %s bei %d, %d, %d in %s geändert", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getNameString());
|
||||
}
|
||||
done++;
|
||||
}
|
||||
|
|
|
@ -19,9 +19,9 @@ public class CommandExterminatus extends Command {
|
|||
if(world.dimension == Space.INSTANCE)
|
||||
throw new RunException("Der Weltraum kann nicht zerstört werden (lol?)");
|
||||
else if(world.isExterminated())
|
||||
throw new RunException("Dimension %s ist bereits zerstört", world.dimension.getFormattedName(false));
|
||||
exec.log(TextColor.YELLOW + "Dimension %s wird zerstört ...", world.dimension.getFormattedName(false));
|
||||
throw new RunException("Dimension %s ist bereits zerstört", world.dimension.getNameString());
|
||||
exec.log(TextColor.YELLOW + "Dimension %s wird zerstört ...", world.dimension.getNameString());
|
||||
world.exterminate();
|
||||
exec.log(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getFormattedName(false));
|
||||
exec.log(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getNameString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ public class CommandFind extends Command {
|
|||
for(Entity entity : entities) {
|
||||
if(entity.isEntityAlive()) {
|
||||
BlockPos pos = entity.getPosition();
|
||||
exec.log("%s bei %d, %d, %d in %s gefunden", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getFormattedName(false));
|
||||
exec.log("%s bei %d, %d, %d in %s gefunden", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getNameString());
|
||||
done++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ import common.init.Blocks;
|
|||
import common.init.NameRegistry;
|
||||
import common.init.UniverseRegistry;
|
||||
import common.rng.Random;
|
||||
import common.world.World;
|
||||
import server.command.ArgumentParser;
|
||||
import server.command.Command;
|
||||
import server.command.CommandEnvironment;
|
||||
|
@ -32,7 +33,7 @@ public class CommandLoad extends Command {
|
|||
public static Planet registerPlanet(String star, String name, String custom, int sky, int fog, int clouds, long orbit, long rotation,
|
||||
float offset, float gravity, float temperature, int brightness) {
|
||||
star = star == null ? UniverseRegistry.getName(new Random().pick(Lists.newArrayList(UniverseRegistry.getStars()))) : star;
|
||||
if(!UniverseRegistry.isDimension(star) || UniverseRegistry.getDimension(star).getType() != DimType.STAR || UniverseRegistry.isRegistered(name))
|
||||
if(!UniverseRegistry.isType(star, DimType.STAR) || UniverseRegistry.isRegistered(name))
|
||||
return null;
|
||||
Planet dim = new Planet(sky, fog, clouds, orbit, rotation, offset, gravity, temperature, brightness);
|
||||
dim.setTimeQualifier(3);
|
||||
|
@ -94,7 +95,7 @@ public class CommandLoad extends Command {
|
|||
this.addColor("sky", 's', 0xffffffff);
|
||||
this.addColor("fog", 'f', 0xc0d8ff);
|
||||
this.addColor("clouds", 'w', 0xffffff);
|
||||
this.addLong("orbit", 'o', 1L, 1000000000000L, UniverseRegistry.EARTH_YEAR);
|
||||
this.addLong("orbit", 'o', 1L, 1000000000000L, World.EARTH_YEAR);
|
||||
this.addLong("rotation", 'r', 1L, 1000000000000L, 24000L);
|
||||
this.addDouble("offset", 'm', 0.0, 100000.0, 0.0);
|
||||
this.addDouble("gravity", 'g', 0.0, 100000.0, 9.81);
|
||||
|
|
|
@ -33,7 +33,7 @@ public class CommandOfflinetp extends Command {
|
|||
throw new RunException("Spieler '%s' konnte nicht gefunden werden", user);
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(pos);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ public class CommandPlayers extends Command {
|
|||
exec.log(TextColor.GREEN + "Es " + (players.size() == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Spieler online", players.size());
|
||||
for(Player player : players) {
|
||||
EntityNPC entity = player.getPresentEntity();
|
||||
exec.log("%s%s" + TextColor.GRAY + ": '%s" + TextColor.GRAY + "'" + (coords && entity != null ? " [" + TextColor.ORANGE + "%s @ %d, %d, %d" + TextColor.GRAY + "]" : ""), player.isAdmin() ? TextColor.RED : TextColor.NEON, player.getUser(), entity == null ? TextColor.DGRAY + "<->" : TextColor.ACID + entity.getCommandName(), entity == null ? null : entity.worldObj.dimension.getFormattedName(false), entity == null ? null : ExtMath.floord(entity.posX), entity == null ? null : ExtMath.floord(entity.posY), entity == null ? null : ExtMath.floord(entity.posZ));
|
||||
exec.log("%s%s" + TextColor.GRAY + ": '%s" + TextColor.GRAY + "'" + (coords && entity != null ? " [" + TextColor.ORANGE + "%s @ %d, %d, %d" + TextColor.GRAY + "]" : ""), player.isAdmin() ? TextColor.RED : TextColor.NEON, player.getUser(), entity == null ? TextColor.DGRAY + "<->" : TextColor.ACID + entity.getCommandName(), entity == null ? null : entity.worldObj.dimension.getNameString(), entity == null ? null : ExtMath.floord(entity.posX), entity == null ? null : ExtMath.floord(entity.posY), entity == null ? null : ExtMath.floord(entity.posZ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ public class CommandReset extends Command {
|
|||
}
|
||||
|
||||
public void exec(CommandEnvironment env, Executor exec, WorldServer world) {
|
||||
exec.log("Dimension %s wird zurückgesetzt ...", world.dimension.getFormattedName(false));
|
||||
exec.log("Dimension %s wird zurückgesetzt ...", world.dimension.getNameString());
|
||||
world.reset();
|
||||
exec.log("Dimension %s zurückgesetzt", world.dimension.getFormattedName(false));
|
||||
exec.log("Dimension %s zurückgesetzt", world.dimension.getNameString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public class CommandReturn extends Command {
|
|||
Position pos = ((Player)player.connection).getLastTeleport();
|
||||
if(pos != null) {
|
||||
player.teleport(pos);
|
||||
exec.log("%s zum letzten Punkt (%d, %d, %d in %s) teleportiert", player.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s zum letzten Punkt (%d, %d, %d in %s) teleportiert", player.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
done++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ public class CommandSeed extends Command {
|
|||
public Object exec(CommandEnvironment env, Executor exec, WorldServer world, boolean dump) {
|
||||
if(dump)
|
||||
exec.log("Daten: %s", world.dimension.dumpTags().format(4));
|
||||
exec.log("Startwert von %s: %d", world.dimension.getFormattedName(false), world.dimension.getSeed());
|
||||
exec.log("Startwert von %s: %d", world.dimension.getNameString(), world.dimension.getSeed());
|
||||
return world.dimension.getSeed();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,13 +28,13 @@ public class CommandSetwarp extends Command {
|
|||
Position pos = env.getServer().getWarps().get(warp);
|
||||
Dimension wdim = pos.getDimension();
|
||||
if(wdim != null)
|
||||
exec.log("Alte Position %d, %d, %d in %s entfernt", ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), dim.getFormattedName(false));
|
||||
exec.log("Alte Position %d, %d, %d in %s entfernt", ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), dim.getNameString());
|
||||
}
|
||||
else {
|
||||
throw new RunException("Warp '%s' existiert bereits", warp);
|
||||
}
|
||||
}
|
||||
env.getServer().getWarps().put(warp, new Position(position.xCoord, position.yCoord, position.zCoord, yaw == null ? 0.0f : yaw.floatValue(), pitch == null ? 0.0f : pitch.floatValue(), dim));
|
||||
exec.log("Warp '%s' auf %d, %d, %d in %s gesetzt", warp, ExtMath.floord(position.xCoord), ExtMath.floord(position.yCoord), ExtMath.floord(position.zCoord), dim.getFormattedName(false));
|
||||
exec.log("Warp '%s' auf %d, %d, %d in %s gesetzt", warp, ExtMath.floord(position.xCoord), ExtMath.floord(position.yCoord), ExtMath.floord(position.zCoord), dim.getNameString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,6 @@ public class CommandShowwarp extends Command {
|
|||
throw new RunException("Warp '%s' existiert nicht", warp);
|
||||
Position pos = env.getServer().getWarps().get(warp);
|
||||
Dimension wdim = pos.getDimension();
|
||||
exec.log("Warp %s ist bei %.2f, %.2f, %.2f [%.1f, %.1f] in %s", warp, pos.xCoord, pos.yCoord, pos.zCoord, pos.yaw(), pos.pitch(), wdim == null ? "<?>" : wdim.getFormattedName(false));
|
||||
exec.log("Warp %s ist bei %.2f, %.2f, %.2f [%.1f, %.1f] in %s", warp, pos.xCoord, pos.yCoord, pos.zCoord, pos.yaw(), pos.pitch(), wdim == null ? "<?>" : wdim.getNameString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class CommandSpawn extends Command {
|
|||
tag != null && tag.hasInt("damage") ? tag.getInt("damage") : 0, tag != null && tag.hasBool("fire") && tag.getBool("fire"),
|
||||
exec.isPlayer() && tag != null && tag.hasBool("summoned") && tag.getBool("summoned") ? ((Player)exec).getPresentEntity() : null);
|
||||
}
|
||||
exec.log("%sBlitz bei %d, %d, %d in %s erschaffen", count == 1 ? "" : (count + "x "), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), world.dimension.getFormattedName(false));
|
||||
exec.log("%sBlitz bei %d, %d, %d in %s erschaffen", count == 1 ? "" : (count + "x "), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), world.dimension.getNameString());
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
|
@ -83,7 +83,7 @@ public class CommandSpawn extends Command {
|
|||
}
|
||||
spawned.add("#" + entity.getId());
|
||||
}
|
||||
exec.log("%s%s bei %d, %d, %d in %s erschaffen", count == 1 ? "" : (count + "x "), EntityRegistry.getEntityName(type), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), world.dimension.getFormattedName(false));
|
||||
exec.log("%s%s bei %d, %d, %d in %s erschaffen", count == 1 ? "" : (count + "x "), EntityRegistry.getEntityName(type), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord), world.dimension.getNameString());
|
||||
return Util.buildLines(",", spawned);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ public class CommandTele extends Command {
|
|||
public Object exec(CommandEnvironment env, Executor exec, Vec3 position, Dimension dim, Double yaw, Double pitch, List<Entity> entities) {
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(position.xCoord, position.yCoord, position.zCoord, yaw == null ? entity.rotYaw : yaw.floatValue(), pitch == null ? entity.rotPitch : pitch.floatValue(), dim);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), ExtMath.floord(position.xCoord), ExtMath.floord(position.yCoord), ExtMath.floord(position.zCoord), dim.getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), ExtMath.floord(position.xCoord), ExtMath.floord(position.yCoord), ExtMath.floord(position.zCoord), dim.getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package server.command.commands;
|
||||
|
||||
import common.dimension.Dimension;
|
||||
import common.item.tool.ItemSpaceNavigator;
|
||||
import common.util.Position;
|
||||
import server.command.Command;
|
||||
import server.command.CommandEnvironment;
|
||||
|
@ -90,7 +89,7 @@ public class CommandTime extends Command {
|
|||
dim.setDayTime(time);
|
||||
dim.resetWeather();
|
||||
}
|
||||
exec.log("Zeit auf %s gesetzt", ItemSpaceNavigator.formatImperialTime(world, false));
|
||||
exec.log("Zeit auf %s gesetzt", world.formatImperialTime(false));
|
||||
return time;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ public class CommandTp extends Command {
|
|||
Position pos = target.getPos();
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(pos);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public class CommandTphere extends Command {
|
|||
throw new RunException("Keine Position zum Teleportieren vorhanden");
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(pos);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public class CommandWarp extends Command {
|
|||
// }
|
||||
for(Entity entity : entities) {
|
||||
entity.teleport(pos);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), (int)pos.x(), (int)pos.y(), (int)pos.z(), pos.getDimension().getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -32,15 +32,15 @@ public class CommandWarps extends Command {
|
|||
n++;
|
||||
}
|
||||
if(dim != null && n == 0) {
|
||||
exec.log(TextColor.DGRAY + "Es sind keine Warps in %s vorhanden", dim.getFormattedName(false));
|
||||
exec.log(TextColor.DGRAY + "Es sind keine Warps in %s vorhanden", dim.getNameString());
|
||||
return;
|
||||
}
|
||||
exec.log(TextColor.GREEN + "Es " + (n == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Warp" + (n == 1 ? "" : "s") + " " + (dim == null ? "" : "in Dimension %s ") + "vorhanden", n, dim == null ? null : dim.getFormattedName(false));
|
||||
exec.log(TextColor.GREEN + "Es " + (n == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Warp" + (n == 1 ? "" : "s") + " " + (dim == null ? "" : "in Dimension %s ") + "vorhanden", n, dim == null ? null : dim.getNameString());
|
||||
for(Entry<String, Position> warp : warps.entrySet()) {
|
||||
Position pos = warp.getValue();
|
||||
Dimension wdim = pos.getDimension();
|
||||
if(wdim != null && (dim == null || wdim == dim))
|
||||
exec.log(TextColor.NEON + "%s" + TextColor.GRAY + ": " + TextColor.ORANGE + "%s" + (dim == null ? " @ " : "") + "%d, %d, %d", warp.getKey(), dim != null ? "" : wdim.getFormattedName(false), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord));
|
||||
exec.log(TextColor.NEON + "%s" + TextColor.GRAY + ": " + TextColor.ORANGE + "%s" + (dim == null ? " @ " : "") + "%d, %d, %d", warp.getKey(), dim != null ? "" : wdim.getNameString(), ExtMath.floord(pos.xCoord), ExtMath.floord(pos.yCoord), ExtMath.floord(pos.zCoord));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,12 +20,12 @@ public class CommandWeather extends Command {
|
|||
|
||||
public void exec(CommandEnvironment env, Executor exec, Weather weather, WorldServer world, boolean transition) {
|
||||
if(!world.dimension.getType().weather)
|
||||
throw new RunException("Welt %s hat kein Wetter", world.dimension.getFormattedName(false));
|
||||
throw new RunException("Welt %s hat kein Wetter", world.dimension.getNameString());
|
||||
else if(world.isExterminated())
|
||||
throw new RunException("Welt %s ist zerstört", world.dimension.getFormattedName(false));
|
||||
throw new RunException("Welt %s ist zerstört", world.dimension.getNameString());
|
||||
world.setWeather(weather);
|
||||
if(!transition)
|
||||
world.resetWeather();
|
||||
exec.log("Wetter in %s zu %s geändert", world.dimension.getFormattedName(false), weather.getDisplay());
|
||||
exec.log("Wetter in %s zu %s geändert", world.dimension.getNameString(), weather.getDisplay());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public class CommandWorld extends Command {
|
|||
for(Entity entity : entities) {
|
||||
BlockPos pos = adjust(world, entity.getPosition());
|
||||
entity.teleport(pos, world);
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), world.dimension.getFormattedName(false));
|
||||
exec.log("%s nach %d, %d, %d in %s teleportiert", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), world.dimension.getNameString());
|
||||
}
|
||||
return entities.size();
|
||||
}
|
||||
|
|
|
@ -1390,7 +1390,7 @@ public class Player extends User implements Executor, IPlayer
|
|||
if(this.edit == EditAction.SELECT && this.selectionDim != Integer.MIN_VALUE && (this.selPos1 != null || this.selPos2 != null)) {
|
||||
Dimension dim = UniverseRegistry.getDimension(this.selectionDim);
|
||||
if(dim != null) {
|
||||
msg += "; Bereich " + dim.getFormattedName(false) + ": ";
|
||||
msg += "; Bereich " + dim.getNameString() + ": ";
|
||||
msg += (this.selPos1 != null ? this.selPos1 : "*") + " -> " + (this.selPos2 != null ? this.selPos2 : "*");
|
||||
if(this.selPos1 != null && this.selPos2 != null) {
|
||||
msg += " = " + (1 + Math.max(this.selPos1.getX(), this.selPos2.getX()) - Math.min(this.selPos1.getX(), this.selPos2.getX())) +
|
||||
|
@ -1600,7 +1600,7 @@ public class Player extends User implements Executor, IPlayer
|
|||
info = null;
|
||||
Alignment align = Alignment.getByName(tag.getString("Align"));
|
||||
Dimension dimension = UniverseRegistry.getDimension(tag.getString("Dimension"));
|
||||
String dim = dimension == null ? "???" : dimension.getFormattedName(false);
|
||||
String dim = dimension == null ? "???" : dimension.getNameString();
|
||||
BlockPos pos = new BlockPos(tag.getDouble("PosX"), tag.getDouble("PosY"), tag.getDouble("PosZ"));
|
||||
String type = EntityRegistry.getEntityName(tag.getString("id"));
|
||||
int level = tag.getInt("XpLevel");
|
||||
|
@ -2472,7 +2472,7 @@ public class Player extends User implements Executor, IPlayer
|
|||
Position pos = this.server.getRandomSpawnPosition(origin);
|
||||
this.entity.teleport(pos);
|
||||
this.teleportPos = this.deathPos = null;
|
||||
this.sendPacket(new SPacketCharacterList(this.selected, this.selected, new PlayerCharacter(this.entity.getCustomNameTag(), this.entity.getDescription(), this.entity.getAlignment(), this.entity.worldObj.dimension.getFormattedName(false), this.entity.getPosition(), EntityRegistry.getEntityName(EntityRegistry.getEntityString(this.entity)), this.entity.experienceLevel)));
|
||||
this.sendPacket(new SPacketCharacterList(this.selected, this.selected, new PlayerCharacter(this.entity.getCustomNameTag(), this.entity.getDescription(), this.entity.getAlignment(), this.entity.worldObj.dimension.getNameString(), this.entity.getPosition(), EntityRegistry.getEntityName(EntityRegistry.getEntityString(this.entity)), this.entity.experienceLevel)));
|
||||
// if(this.local)
|
||||
// this.server.setDone();
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue