diff --git a/client/src/main/java/client/Client.java b/client/src/main/java/client/Client.java index 9c94223b..ed43fbc7 100755 --- a/client/src/main/java/client/Client.java +++ b/client/src/main/java/client/Client.java @@ -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: " diff --git a/client/src/main/java/client/gui/character/GuiChar.java b/client/src/main/java/client/gui/character/GuiChar.java index 0b30c36d..5ba4fbf0 100755 --- a/client/src/main/java/client/gui/character/GuiChar.java +++ b/client/src/main/java/client/gui/character/GuiChar.java @@ -454,10 +454,8 @@ public class GuiChar extends GuiList 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() diff --git a/client/src/main/java/client/gui/character/GuiCharacters.java b/client/src/main/java/client/gui/character/GuiCharacters.java index 74e2deb1..68d4bdd5 100644 --- a/client/src/main/java/client/gui/character/GuiCharacters.java +++ b/client/src/main/java/client/gui/character/GuiCharacters.java @@ -76,7 +76,7 @@ public class GuiCharacters extends GuiList 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)); diff --git a/client/src/main/java/client/gui/ingame/GuiGameOver.java b/client/src/main/java/client/gui/ingame/GuiGameOver.java index 5c464acf..1cbf6f8c 100755 --- a/client/src/main/java/client/gui/ingame/GuiGameOver.java +++ b/client/src/main/java/client/gui/ingame/GuiGameOver.java @@ -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(); diff --git a/client/src/main/java/client/gui/ingame/GuiSign.java b/client/src/main/java/client/gui/ingame/GuiSign.java index edc66bb3..bd6ad8a3 100644 --- a/client/src/main/java/client/gui/ingame/GuiSign.java +++ b/client/src/main/java/client/gui/ingame/GuiSign.java @@ -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])); } diff --git a/client/src/main/java/client/network/ClientPlayer.java b/client/src/main/java/client/network/ClientPlayer.java index d20ec780..b662b8e5 100755 --- a/client/src/main/java/client/network/ClientPlayer.java +++ b/client/src/main/java/client/network/ClientPlayer.java @@ -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()); } } diff --git a/common/src/main/java/common/block/artificial/BlockBed.java b/common/src/main/java/common/block/artificial/BlockBed.java index aa4c3fcc..a30c958e 100755 --- a/common/src/main/java/common/block/artificial/BlockBed.java +++ b/common/src/main/java/common/block/artificial/BlockBed.java @@ -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) { diff --git a/common/src/main/java/common/dimension/Dimension.java b/common/src/main/java/common/dimension/Dimension.java index 47498f3f..8163e2f9 100755 --- a/common/src/main/java/common/dimension/Dimension.java +++ b/common/src/main/java/common/dimension/Dimension.java @@ -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]; + } } diff --git a/common/src/main/java/common/init/UniverseRegistry.java b/common/src/main/java/common/init/UniverseRegistry.java index 043ab1c8..0769cb2c 100755 --- a/common/src/main/java/common/init/UniverseRegistry.java +++ b/common/src/main/java/common/init/UniverseRegistry.java @@ -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 DIMENSIONS = Lists.newArrayList(); private static final Map ID_MAP = Maps.newTreeMap(); private static final Map IDS = new IdentityHashMap(); @@ -123,35 +122,13 @@ public abstract class UniverseRegistry { public static Set 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()) diff --git a/common/src/main/java/common/item/spawner/ItemCharTemplate.java b/common/src/main/java/common/item/spawner/ItemCharTemplate.java index 81021dc9..504adf0c 100755 --- a/common/src/main/java/common/item/spawner/ItemCharTemplate.java +++ b/common/src/main/java/common/item/spawner/ItemCharTemplate.java @@ -65,7 +65,7 @@ public class ItemCharTemplate extends Item public void addInformation(ItemStack stack, EntityNPC player, List 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) diff --git a/common/src/main/java/common/item/spawner/ItemMobTemplate.java b/common/src/main/java/common/item/spawner/ItemMobTemplate.java index e3b054cd..9a61c038 100755 --- a/common/src/main/java/common/item/spawner/ItemMobTemplate.java +++ b/common/src/main/java/common/item/spawner/ItemMobTemplate.java @@ -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())); } } diff --git a/common/src/main/java/common/item/tool/ItemExterminator.java b/common/src/main/java/common/item/tool/ItemExterminator.java index 06db382d..990be1c4 100755 --- a/common/src/main/java/common/item/tool/ItemExterminator.java +++ b/common/src/main/java/common/item/tool/ItemExterminator.java @@ -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) // { diff --git a/common/src/main/java/common/item/tool/ItemScanner.java b/common/src/main/java/common/item/tool/ItemScanner.java index 594b948a..55fca541 100755 --- a/common/src/main/java/common/item/tool/ItemScanner.java +++ b/common/src/main/java/common/item/tool/ItemScanner.java @@ -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))); } diff --git a/common/src/main/java/common/item/tool/ItemSpaceNavigator.java b/common/src/main/java/common/item/tool/ItemSpaceNavigator.java index de8217bc..c3e1f08a 100755 --- a/common/src/main/java/common/item/tool/ItemSpaceNavigator.java +++ b/common/src/main/java/common/item/tool/ItemSpaceNavigator.java @@ -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 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())); } } diff --git a/common/src/main/java/common/packet/SPacketDimensionName.java b/common/src/main/java/common/packet/SPacketDimensionName.java index af93e36f..670e94e7 100755 --- a/common/src/main/java/common/packet/SPacketDimensionName.java +++ b/common/src/main/java/common/packet/SPacketDimensionName.java @@ -8,14 +8,14 @@ import common.network.Packet; import common.network.PacketBuffer; public class SPacketDimensionName implements Packet { - 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 { } 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; } diff --git a/common/src/main/java/common/packet/SPacketRespawn.java b/common/src/main/java/common/packet/SPacketRespawn.java index 5c1317ff..1167312b 100755 --- a/common/src/main/java/common/packet/SPacketRespawn.java +++ b/common/src/main/java/common/packet/SPacketRespawn.java @@ -16,7 +16,7 @@ public class SPacketRespawn implements Packet { 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 { 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 { 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 { 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 { if(!dim.isCustom()) return dim; dim.setCustomName(this.dimDisplay); - dim.setDisplayName(this.dimFull); + dim.setBaseNames(this.dimFull); return dim; } diff --git a/common/src/main/java/common/util/Util.java b/common/src/main/java/common/util/Util.java index 64800bfa..72b6d22b 100644 --- a/common/src/main/java/common/util/Util.java +++ b/common/src/main/java/common/util/Util.java @@ -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; diff --git a/common/src/main/java/common/world/World.java b/common/src/main/java/common/world/World.java index 7b1295c8..917c59fe 100755 --- a/common/src/main/java/common/world/World.java +++ b/common/src/main/java/common/world/World.java @@ -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) { diff --git a/server/src/main/java/server/Server.java b/server/src/main/java/server/Server.java index 74b70f3a..89f3a1d8 100755 --- a/server/src/main/java/server/Server.java +++ b/server/src/main/java/server/Server.java @@ -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 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() ? "" : 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 clazz) { diff --git a/server/src/main/java/server/command/WorldParser.java b/server/src/main/java/server/command/WorldParser.java index 78ca3315..73f9b342 100644 --- a/server/src/main/java/server/command/WorldParser.java +++ b/server/src/main/java/server/command/WorldParser.java @@ -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; } diff --git a/server/src/main/java/server/command/commands/CommandBlock.java b/server/src/main/java/server/command/commands/CommandBlock.java index ea6c95c7..f4803c91 100644 --- a/server/src/main/java/server/command/commands/CommandBlock.java +++ b/server/src/main/java/server/command/commands/CommandBlock.java @@ -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; diff --git a/server/src/main/java/server/command/commands/CommandDeathspot.java b/server/src/main/java/server/command/commands/CommandDeathspot.java index 991c7ea5..e9248746 100644 --- a/server/src/main/java/server/command/commands/CommandDeathspot.java +++ b/server/src/main/java/server/command/commands/CommandDeathspot.java @@ -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(); } diff --git a/server/src/main/java/server/command/commands/CommandDelwarp.java b/server/src/main/java/server/command/commands/CommandDelwarp.java index fa65b3f2..9f4d7bd4 100644 --- a/server/src/main/java/server/command/commands/CommandDelwarp.java +++ b/server/src/main/java/server/command/commands/CommandDelwarp.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandEntity.java b/server/src/main/java/server/command/commands/CommandEntity.java index 377c5aa8..78dadef9 100644 --- a/server/src/main/java/server/command/commands/CommandEntity.java +++ b/server/src/main/java/server/command/commands/CommandEntity.java @@ -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++; } diff --git a/server/src/main/java/server/command/commands/CommandExterminatus.java b/server/src/main/java/server/command/commands/CommandExterminatus.java index 91025584..3f744c96 100644 --- a/server/src/main/java/server/command/commands/CommandExterminatus.java +++ b/server/src/main/java/server/command/commands/CommandExterminatus.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandFind.java b/server/src/main/java/server/command/commands/CommandFind.java index 99e8d277..58db0e27 100644 --- a/server/src/main/java/server/command/commands/CommandFind.java +++ b/server/src/main/java/server/command/commands/CommandFind.java @@ -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++; } } diff --git a/server/src/main/java/server/command/commands/CommandLoad.java b/server/src/main/java/server/command/commands/CommandLoad.java index 4ac967f1..a3dcb6a1 100644 --- a/server/src/main/java/server/command/commands/CommandLoad.java +++ b/server/src/main/java/server/command/commands/CommandLoad.java @@ -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); diff --git a/server/src/main/java/server/command/commands/CommandOfflinetp.java b/server/src/main/java/server/command/commands/CommandOfflinetp.java index 86fcf3ec..76fc2e43 100644 --- a/server/src/main/java/server/command/commands/CommandOfflinetp.java +++ b/server/src/main/java/server/command/commands/CommandOfflinetp.java @@ -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(); } diff --git a/server/src/main/java/server/command/commands/CommandPlayers.java b/server/src/main/java/server/command/commands/CommandPlayers.java index f486774b..231951c6 100644 --- a/server/src/main/java/server/command/commands/CommandPlayers.java +++ b/server/src/main/java/server/command/commands/CommandPlayers.java @@ -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)); } } } diff --git a/server/src/main/java/server/command/commands/CommandReset.java b/server/src/main/java/server/command/commands/CommandReset.java index c4552542..d79c2d87 100644 --- a/server/src/main/java/server/command/commands/CommandReset.java +++ b/server/src/main/java/server/command/commands/CommandReset.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandReturn.java b/server/src/main/java/server/command/commands/CommandReturn.java index ffa13393..6ebe0b33 100644 --- a/server/src/main/java/server/command/commands/CommandReturn.java +++ b/server/src/main/java/server/command/commands/CommandReturn.java @@ -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++; } } diff --git a/server/src/main/java/server/command/commands/CommandSeed.java b/server/src/main/java/server/command/commands/CommandSeed.java index 1879edcb..d7aba005 100644 --- a/server/src/main/java/server/command/commands/CommandSeed.java +++ b/server/src/main/java/server/command/commands/CommandSeed.java @@ -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(); } } diff --git a/server/src/main/java/server/command/commands/CommandSetwarp.java b/server/src/main/java/server/command/commands/CommandSetwarp.java index 0952f898..8814b2b4 100644 --- a/server/src/main/java/server/command/commands/CommandSetwarp.java +++ b/server/src/main/java/server/command/commands/CommandSetwarp.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandShowwarp.java b/server/src/main/java/server/command/commands/CommandShowwarp.java index 762be40d..0fe44742 100644 --- a/server/src/main/java/server/command/commands/CommandShowwarp.java +++ b/server/src/main/java/server/command/commands/CommandShowwarp.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandSpawn.java b/server/src/main/java/server/command/commands/CommandSpawn.java index 357f5a01..63adf292 100644 --- a/server/src/main/java/server/command/commands/CommandSpawn.java +++ b/server/src/main/java/server/command/commands/CommandSpawn.java @@ -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); } } diff --git a/server/src/main/java/server/command/commands/CommandTele.java b/server/src/main/java/server/command/commands/CommandTele.java index 999bd86b..92780c69 100644 --- a/server/src/main/java/server/command/commands/CommandTele.java +++ b/server/src/main/java/server/command/commands/CommandTele.java @@ -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 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(); } diff --git a/server/src/main/java/server/command/commands/CommandTime.java b/server/src/main/java/server/command/commands/CommandTime.java index bc836bf4..8e6a70aa 100644 --- a/server/src/main/java/server/command/commands/CommandTime.java +++ b/server/src/main/java/server/command/commands/CommandTime.java @@ -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; } } diff --git a/server/src/main/java/server/command/commands/CommandTp.java b/server/src/main/java/server/command/commands/CommandTp.java index 8f230db9..29a6f2f0 100644 --- a/server/src/main/java/server/command/commands/CommandTp.java +++ b/server/src/main/java/server/command/commands/CommandTp.java @@ -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(); } diff --git a/server/src/main/java/server/command/commands/CommandTphere.java b/server/src/main/java/server/command/commands/CommandTphere.java index 8fa51aef..8379cefd 100644 --- a/server/src/main/java/server/command/commands/CommandTphere.java +++ b/server/src/main/java/server/command/commands/CommandTphere.java @@ -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(); } diff --git a/server/src/main/java/server/command/commands/CommandWarp.java b/server/src/main/java/server/command/commands/CommandWarp.java index e138e546..713d9276 100644 --- a/server/src/main/java/server/command/commands/CommandWarp.java +++ b/server/src/main/java/server/command/commands/CommandWarp.java @@ -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(); } diff --git a/server/src/main/java/server/command/commands/CommandWarps.java b/server/src/main/java/server/command/commands/CommandWarps.java index a8e3b2c9..959e82fc 100644 --- a/server/src/main/java/server/command/commands/CommandWarps.java +++ b/server/src/main/java/server/command/commands/CommandWarps.java @@ -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 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)); } } } diff --git a/server/src/main/java/server/command/commands/CommandWeather.java b/server/src/main/java/server/command/commands/CommandWeather.java index 25313c66..11485ec5 100644 --- a/server/src/main/java/server/command/commands/CommandWeather.java +++ b/server/src/main/java/server/command/commands/CommandWeather.java @@ -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()); } } diff --git a/server/src/main/java/server/command/commands/CommandWorld.java b/server/src/main/java/server/command/commands/CommandWorld.java index 47ef3ab4..1df3c9c4 100644 --- a/server/src/main/java/server/command/commands/CommandWorld.java +++ b/server/src/main/java/server/command/commands/CommandWorld.java @@ -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(); } diff --git a/server/src/main/java/server/network/Player.java b/server/src/main/java/server/network/Player.java index 1f27f343..41250631 100755 --- a/server/src/main/java/server/network/Player.java +++ b/server/src/main/java/server/network/Player.java @@ -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;