Fix formatting.

By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
CraftBukkit/Spigot
2012-01-14 23:02:10 +01:00
parent 62e770d489
commit 7c345d4d82
39 changed files with 266 additions and 414 deletions

View File

@@ -23,7 +23,7 @@ public class CraftChunk implements Chunk {
private int z; private int z;
public CraftChunk(net.minecraft.server.Chunk chunk) { public CraftChunk(net.minecraft.server.Chunk chunk) {
if(!(chunk instanceof EmptyChunk)) { if (!(chunk instanceof EmptyChunk)) {
this.weakChunk = new WeakReference<net.minecraft.server.Chunk>(chunk); this.weakChunk = new WeakReference<net.minecraft.server.Chunk>(chunk);
} }
worldServer = (WorldServer) getHandle().world; worldServer = (WorldServer) getHandle().world;
@@ -39,7 +39,7 @@ public class CraftChunk implements Chunk {
net.minecraft.server.Chunk c = weakChunk.get(); net.minecraft.server.Chunk c = weakChunk.get();
if (c == null) { if (c == null) {
c = worldServer.getChunkAt(x, z); c = worldServer.getChunkAt(x, z);
if(!(c instanceof EmptyChunk)) { if (!(c instanceof EmptyChunk)) {
weakChunk = new WeakReference<net.minecraft.server.Chunk>(c); weakChunk = new WeakReference<net.minecraft.server.Chunk>(c);
} }
} }
@@ -76,7 +76,7 @@ public class CraftChunk implements Chunk {
Entity[] entities = new Entity[count]; Entity[] entities = new Entity[count];
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
for (Object obj: chunk.entitySlices[i].toArray()) { for (Object obj : chunk.entitySlices[i].toArray()) {
if (!(obj instanceof net.minecraft.server.Entity)) { if (!(obj instanceof net.minecraft.server.Entity)) {
continue; continue;
} }
@@ -155,10 +155,10 @@ public class CraftChunk implements Chunk {
biomeTemp = new double[256]; biomeTemp = new double[256];
biomeRain = new double[256]; biomeRain = new double[256];
float[] dat = wcm.getTemperatures((float[]) null, getX() << 4, getZ() << 4, 16, 16); float[] dat = wcm.getTemperatures((float[]) null, getX() << 4, getZ() << 4, 16, 16);
for(int i = 0; i < 256; i++) for (int i = 0; i < 256; i++)
biomeTemp[i] = dat[i]; biomeTemp[i] = dat[i];
dat = wcm.getWetness((float[]) null, getX() << 4, getZ() << 4, 16, 16); dat = wcm.getWetness((float[]) null, getX() << 4, getZ() << 4, 16, 16);
for(int i = 0; i < 256; i++) for (int i = 0; i < 256; i++)
biomeRain[i] = dat[i]; biomeRain[i] = dat[i];
} }
} }
@@ -212,10 +212,10 @@ public class CraftChunk implements Chunk {
biomeTemp = new double[256]; biomeTemp = new double[256];
biomeRain = new double[256]; biomeRain = new double[256];
float[] dat = wcm.getTemperatures((float[]) null, x << 4, z << 4, 16, 16); float[] dat = wcm.getTemperatures((float[]) null, x << 4, z << 4, 16, 16);
for(int i = 0; i < 256; i++) for (int i = 0; i < 256; i++)
biomeTemp[i] = dat[i]; biomeTemp[i] = dat[i];
dat = wcm.getWetness((float[]) null, x << 4, z << 4, 16, 16); dat = wcm.getWetness((float[]) null, x << 4, z << 4, 16, 16);
for(int i = 0; i < 256; i++) for (int i = 0; i < 256; i++)
biomeRain[i] = dat[i]; biomeRain[i] = dat[i];
} }
} }

View File

@@ -5,6 +5,7 @@ import org.bukkit.block.Biome;
import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.block.CraftBlock;
import net.minecraft.server.BiomeBase; import net.minecraft.server.BiomeBase;
/** /**
* Represents a static, thread-safe snapshot of chunk of blocks * Represents a static, thread-safe snapshot of chunk of blocks
* Purpose is to allow clean, efficient copy of a chunk data to be made, and then handed off for processing in another thread (e.g. map rendering) * Purpose is to allow clean, efficient copy of a chunk data to be made, and then handed off for processing in another thread (e.g. map rendering)
@@ -23,9 +24,6 @@ public class CraftChunkSnapshot implements ChunkSnapshot {
private static final int BLOCKLIGHT_OFF = BLOCKDATA_OFF + 16384; private static final int BLOCKLIGHT_OFF = BLOCKDATA_OFF + 16384;
private static final int SKYLIGHT_OFF = BLOCKLIGHT_OFF + 16384; private static final int SKYLIGHT_OFF = BLOCKLIGHT_OFF + 16384;
/**
* Constructor
*/
CraftChunkSnapshot(int x, int z, String wname, long wtime, byte[] buf, byte[] hmap, BiomeBase[] biome, double[] biomeTemp, double[] biomeRain) { CraftChunkSnapshot(int x, int z, String wname, long wtime, byte[] buf, byte[] hmap, BiomeBase[] biome, double[] biomeTemp, double[] biomeRain) {
this.x = x; this.x = x;
this.z = z; this.z = z;
@@ -38,135 +36,56 @@ public class CraftChunkSnapshot implements ChunkSnapshot {
this.biomeRain = biomeRain; this.biomeRain = biomeRain;
} }
/**
* Gets the X-coordinate of this chunk
*
* @return X-coordinate
*/
public int getX() { public int getX() {
return x; return x;
} }
/**
* Gets the Z-coordinate of this chunk
*
* @return Z-coordinate
*/
public int getZ() { public int getZ() {
return z; return z;
} }
/**
* Gets name of the world containing this chunk
*
* @return Parent World Name
*/
public String getWorldName() { public String getWorldName() {
return worldname; return worldname;
} }
/**
* Get block type for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-255
*/
public int getBlockTypeId(int x, int y, int z) { public int getBlockTypeId(int x, int y, int z) {
return buf[x << 11 | z << 7 | y] & 255; return buf[x << 11 | z << 7 | y] & 255;
} }
/**
* Get block data for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockData(int x, int y, int z) { public int getBlockData(int x, int y, int z) {
int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKDATA_OFF; int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKDATA_OFF;
return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF); return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF);
} }
/**
* Get sky light level for block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockSkyLight(int x, int y, int z) { public int getBlockSkyLight(int x, int y, int z) {
int off = ((x << 10) | (z << 6) | (y >> 1)) + SKYLIGHT_OFF; int off = ((x << 10) | (z << 6) | (y >> 1)) + SKYLIGHT_OFF;
return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF); return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF);
} }
/**
* Get light level emitted by block at corresponding coordinate in the chunk
*
* @param x 0-15
* @param y 0-127
* @param z 0-15
* @return 0-15
*/
public int getBlockEmittedLight(int x, int y, int z) { public int getBlockEmittedLight(int x, int y, int z) {
int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKLIGHT_OFF; int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKLIGHT_OFF;
return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF); return ((y & 1) == 0) ? (buf[off] & 0xF) : ((buf[off] >> 4) & 0xF);
} }
/**
* Gets the highest non-air coordinate at the given coordinates
*
* @param x X-coordinate of the blocks
* @param z Z-coordinate of the blocks
* @return Y-coordinate of the highest non-air block
*/
public int getHighestBlockYAt(int x, int z) { public int getHighestBlockYAt(int x, int z) {
return hmap[z << 4 | x] & 255; return hmap[z << 4 | x] & 255;
} }
/**
* Get biome at given coordinates
*
* @param x X-coordinate
* @param z Z-coordinate
* @return Biome at given coordinate
*/
public Biome getBiome(int x, int z) { public Biome getBiome(int x, int z) {
return CraftBlock.biomeBaseToBiome(biome[z << 4 | x]); return CraftBlock.biomeBaseToBiome(biome[z << 4 | x]);
} }
/**
* Get raw biome temperature (0.0-1.0) at given coordinate
*
* @param x X-coordinate
* @param z Z-coordinate
* @return temperature at given coordinate
*/
public double getRawBiomeTemperature(int x, int z) { public double getRawBiomeTemperature(int x, int z) {
return biomeTemp[z << 4 | x]; return biomeTemp[z << 4 | x];
} }
/**
* Get raw biome rainfall (0.0-1.0) at given coordinate
*
* @param x X-coordinate
* @param z Z-coordinate
* @return rainfall at given coordinate
*/
public double getRawBiomeRainfall(int x, int z) { public double getRawBiomeRainfall(int x, int z) {
return biomeRain[z << 4 | x]; return biomeRain[z << 4 | x];
} }
/**
* Get world full time when chunk snapshot was captured
* @return time in ticks
*/
public long getCaptureFullTime() { public long getCaptureFullTime() {
return captureFulltime; return captureFulltime;
} }

View File

@@ -22,7 +22,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
protected CraftOfflinePlayer(CraftServer server, String name) { protected CraftOfflinePlayer(CraftServer server, String name) {
this.server = server; this.server = server;
this.name = name; this.name = name;
this.storage = (WorldNBTStorage)(server.console.worlds.get(0).getDataManager()); this.storage = (WorldNBTStorage) (server.console.worlds.get(0).getDataManager());
} }
public boolean isOnline() { public boolean isOnline() {
@@ -84,7 +84,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
} }
public static OfflinePlayer deserialize(Map<String, Object> args) { public static OfflinePlayer deserialize(Map<String, Object> args) {
return Bukkit.getServer().getOfflinePlayer((String)args.get("name")); return Bukkit.getServer().getOfflinePlayer((String) args.get("name"));
} }
@Override @Override
@@ -93,8 +93,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
} }
public Player getPlayer() { public Player getPlayer() {
for (Object obj: server.getHandle().players) { for (Object obj : server.getHandle().players) {
EntityPlayer player = (EntityPlayer)obj; EntityPlayer player = (EntityPlayer) obj;
if (player.name.equalsIgnoreCase(getName())) { if (player.name.equalsIgnoreCase(getName())) {
return (player.netServerHandler != null) ? player.netServerHandler.getPlayer() : null; return (player.netServerHandler != null) ? player.netServerHandler.getPlayer() : null;
} }
@@ -111,7 +111,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
if (!(obj instanceof OfflinePlayer)) { if (!(obj instanceof OfflinePlayer)) {
return false; return false;
} }
OfflinePlayer other = (OfflinePlayer)obj; OfflinePlayer other = (OfflinePlayer) obj;
if ((this.getName() == null) || (other.getName() == null)) { if ((this.getName() == null) || (other.getName() == null)) {
return false; return false;
} }

View File

@@ -135,7 +135,7 @@ public final class CraftServer implements Server {
} }
private File getConfigFile() { private File getConfigFile() {
return (File)console.options.valueOf("bukkit-settings"); return (File) console.options.valueOf("bukkit-settings");
} }
private void saveConfig() { private void saveConfig() {
@@ -372,7 +372,6 @@ public final class CraftServer implements Server {
return server; return server;
} }
// NOTE: Should only be called from MinecraftServer.b() // NOTE: Should only be called from MinecraftServer.b()
public boolean dispatchCommand(CommandSender sender, ServerCommand serverCommand) { public boolean dispatchCommand(CommandSender sender, ServerCommand serverCommand) {
return dispatchCommand(sender, serverCommand.command); return dispatchCommand(sender, serverCommand.command);
@@ -457,7 +456,7 @@ public final class CraftServer implements Server {
Map<String, Map<String, Object>> perms; Map<String, Map<String, Object>> perms;
try { try {
perms = (Map<String, Map<String, Object>>)yaml.load(stream); perms = (Map<String, Map<String, Object>>) yaml.load(stream);
} catch (MarkedYAMLException ex) { } catch (MarkedYAMLException ex) {
getLogger().log(Level.WARNING, "Server permissions file " + file + " is not valid YAML: " + ex.toString()); getLogger().log(Level.WARNING, "Server permissions file " + file + " is not valid YAML: " + ex.toString());
return; return;
@@ -557,7 +556,7 @@ public final class CraftServer implements Server {
} }
pluginManager.callEvent(new WorldInitEvent(internal.getWorld())); pluginManager.callEvent(new WorldInitEvent(internal.getWorld()));
System.out.print("Preparing start region for level " + (console.worlds.size() -1) + " (Seed: " + internal.getSeed() + ")"); System.out.print("Preparing start region for level " + (console.worlds.size() - 1) + " (Seed: " + internal.getSeed() + ")");
if (internal.getWorld().getKeepSpawnInMemory()) { if (internal.getWorld().getKeepSpawnInMemory()) {
short short1 = 196; short short1 = 196;
@@ -811,7 +810,7 @@ public final class CraftServer implements Server {
for (Permissible permissible : permissibles) { for (Permissible permissible : permissibles) {
if (permissible instanceof CommandSender) { if (permissible instanceof CommandSender) {
CommandSender user = (CommandSender)permissible; CommandSender user = (CommandSender) permissible;
user.sendMessage(message); user.sendMessage(message);
count++; count++;
} }
@@ -854,7 +853,7 @@ public final class CraftServer implements Server {
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>(); Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
for (Object name : server.banByName) { for (Object name : server.banByName) {
result.add(getOfflinePlayer((String)name)); result.add(getOfflinePlayer((String) name));
} }
return result; return result;
@@ -869,7 +868,7 @@ public final class CraftServer implements Server {
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>(); Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
for (Object name : server.getWhitelisted()) { for (Object name : server.getWhitelisted()) {
result.add(getOfflinePlayer((String)name)); result.add(getOfflinePlayer((String) name));
} }
return result; return result;
@@ -879,7 +878,7 @@ public final class CraftServer implements Server {
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>(); Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
for (Object name : server.operators) { for (Object name : server.operators) {
result.add(getOfflinePlayer((String)name)); result.add(getOfflinePlayer((String) name));
} }
return result; return result;
@@ -899,7 +898,7 @@ public final class CraftServer implements Server {
} }
for (World world : getWorlds()) { for (World world : getWorlds()) {
((CraftWorld)world).getHandle().worldData.setGameType(mode.getValue()); ((CraftWorld) world).getHandle().worldData.setGameType(mode.getValue());
} }
} }
@@ -910,7 +909,7 @@ public final class CraftServer implements Server {
public void detectListNameConflict(EntityPlayer entityPlayer) { public void detectListNameConflict(EntityPlayer entityPlayer) {
// Collisions will make for invisible people // Collisions will make for invisible people
for (int i = 0; i < getHandle().players.size(); ++i) { for (int i = 0; i < getHandle().players.size(); ++i) {
EntityPlayer testEntityPlayer = (EntityPlayer)getHandle().players.get(i); EntityPlayer testEntityPlayer = (EntityPlayer) getHandle().players.get(i);
// We have a problem! // We have a problem!
if (testEntityPlayer != entityPlayer && testEntityPlayer.listName.equals(entityPlayer.listName)) { if (testEntityPlayer != entityPlayer && testEntityPlayer.listName.equals(entityPlayer.listName)) {
@@ -918,8 +917,7 @@ public final class CraftServer implements Server {
int spaceLeft = 16 - oldName.length(); int spaceLeft = 16 - oldName.length();
if (spaceLeft <= 1) { // We also hit the list name length limit! if (spaceLeft <= 1) { // We also hit the list name length limit!
entityPlayer.listName = oldName.subSequence(0, oldName.length() - 2 - spaceLeft) entityPlayer.listName = oldName.subSequence(0, oldName.length() - 2 - spaceLeft) + String.valueOf(System.currentTimeMillis() % 99);
+ String.valueOf(System.currentTimeMillis() % 99);
} else { } else {
entityPlayer.listName = oldName + String.valueOf(System.currentTimeMillis() % 99); entityPlayer.listName = oldName + String.valueOf(System.currentTimeMillis() % 99);
} }

View File

@@ -46,7 +46,7 @@ import org.bukkit.plugin.messaging.StandardMessenger;
public class CraftWorld implements World { public class CraftWorld implements World {
private final WorldServer world; private final WorldServer world;
private Environment environment; private Environment environment;
private final CraftServer server = (CraftServer)Bukkit.getServer(); private final CraftServer server = (CraftServer) Bukkit.getServer();
private ConcurrentMap<Integer, CraftChunk> unloadedChunks = new MapMaker().weakValues().makeMap(); private ConcurrentMap<Integer, CraftChunk> unloadedChunks = new MapMaker().weakValues().makeMap();
private final ChunkGenerator generator; private final ChunkGenerator generator;
private final List<BlockPopulator> populators = new ArrayList<BlockPopulator>(); private final List<BlockPopulator> populators = new ArrayList<BlockPopulator>();
@@ -78,7 +78,7 @@ public class CraftWorld implements World {
} }
public int getHighestBlockYAt(int x, int z) { public int getHighestBlockYAt(int x, int z) {
if (!isChunkLoaded(x >> 4, z >> 4)){ if (!isChunkLoaded(x >> 4, z >> 4)) {
loadChunk(x >> 4, z >> 4); loadChunk(x >> 4, z >> 4);
} }
@@ -221,7 +221,6 @@ public class CraftWorld implements World {
return true; return true;
} }
public boolean isChunkInUse(int x, int z) { public boolean isChunkInUse(int x, int z) {
Player[] players = server.getOnlinePlayers(); Player[] players = server.getOnlinePlayers();
@@ -334,7 +333,7 @@ public class CraftWorld implements World {
return null; return null;
} }
return (LivingEntity)result; return (LivingEntity) result;
} }
public LightningStrike strikeLightning(Location loc) { public LightningStrike strikeLightning(Location loc) {
@@ -411,7 +410,7 @@ public class CraftWorld implements World {
world.setTime(time); world.setTime(time);
// Forces the client to update to the new time immediately // Forces the client to update to the new time immediately
for (Player p: getPlayers()) { for (Player p : getPlayers()) {
CraftPlayer cp = (CraftPlayer) p; CraftPlayer cp = (CraftPlayer) p;
cp.getHandle().netServerHandler.sendPacket(new Packet4UpdateTime(cp.getHandle().getPlayerTime())); cp.getHandle().netServerHandler.sendPacket(new Packet4UpdateTime(cp.getHandle().getPlayerTime()));
} }
@@ -493,7 +492,7 @@ public class CraftWorld implements World {
public List<Entity> getEntities() { public List<Entity> getEntities() {
List<Entity> list = new ArrayList<Entity>(); List<Entity> list = new ArrayList<Entity>();
for (Object o: world.entityList) { for (Object o : world.entityList) {
if (o instanceof net.minecraft.server.Entity) { if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
Entity bukkitEntity = mcEnt.getBukkitEntity(); Entity bukkitEntity = mcEnt.getBukkitEntity();
@@ -511,7 +510,7 @@ public class CraftWorld implements World {
public List<LivingEntity> getLivingEntities() { public List<LivingEntity> getLivingEntities() {
List<LivingEntity> list = new ArrayList<LivingEntity>(); List<LivingEntity> list = new ArrayList<LivingEntity>();
for (Object o: world.entityList) { for (Object o : world.entityList) {
if (o instanceof net.minecraft.server.Entity) { if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
Entity bukkitEntity = mcEnt.getBukkitEntity(); Entity bukkitEntity = mcEnt.getBukkitEntity();
@@ -790,7 +789,7 @@ public class CraftWorld implements World {
face = BlockFace.SOUTH; face = BlockFace.SOUTH;
} }
int dir; int dir;
switch(face) { switch (face) {
case EAST: case EAST:
default: default:
dir = 0; dir = 0;
@@ -802,7 +801,8 @@ public class CraftWorld implements World {
dir = 2; dir = 2;
break; break;
case SOUTH: case SOUTH:
dir = 3;; dir = 3;
;
break; break;
} }
entity = new EntityPainting(world, (int) x, (int) y, (int) z, dir); entity = new EntityPainting(world, (int) x, (int) y, (int) z, dir);
@@ -904,7 +904,7 @@ public class CraftWorld implements World {
} }
public File getWorldFolder() { public File getWorldFolder() {
return ((WorldNBTStorage)world.getDataManager()).getDirectory(); return ((WorldNBTStorage) world.getDataManager()).getDirectory();
} }
public void explodeBlock(Block block, float yield) { public void explodeBlock(Block block, float yield) {

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit; package org.bukkit.craftbukkit;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;

View File

@@ -137,7 +137,6 @@ public class PortalTravelAgent implements TravelAgent {
public boolean createPortal(Location location) { public boolean createPortal(Location location) {
net.minecraft.server.World world = ((CraftWorld) location.getWorld()).getHandle(); net.minecraft.server.World world = ((CraftWorld) location.getWorld()).getHandle();
if (location.getWorld().getEnvironment() == Environment.THE_END) { if (location.getWorld().getEnvironment() == Environment.THE_END) {
int i = MathHelper.floor(location.getBlockX()); int i = MathHelper.floor(location.getBlockX());
int j = MathHelper.floor(location.getBlockY()) - 1; int j = MathHelper.floor(location.getBlockY()) - 1;
@@ -401,9 +400,6 @@ public class PortalTravelAgent implements TravelAgent {
return true; return true;
} }
public TravelAgent setSearchRadius(int radius) { public TravelAgent setSearchRadius(int radius) {
this.searchRadius = radius; this.searchRadius = radius;
return this; return this;

View File

@@ -1,8 +1,8 @@
package org.bukkit.craftbukkit; package org.bukkit.craftbukkit;
/** /**
* Credits for this class goes to user aioobe on stackoverflow.com * Credits for this class goes to user aioobe on stackoverflow.com
* Source: http://stackoverflow.com/questions/4454630/j2me-calculate-the-the-distance-between-2-latitude-and-longitude * Source: http://stackoverflow.com/questions/4454630/j2me-calculate-the-the-distance-between-2-latitude-and-longitude
*
*/ */
public class TrigMath { public class TrigMath {

View File

@@ -175,7 +175,7 @@ public class CraftBlock implements Block {
} }
public static int blockFaceToNotch(BlockFace face) { public static int blockFaceToNotch(BlockFace face) {
switch(face) { switch (face) {
case DOWN: case DOWN:
return 0; return 0;
case UP: case UP:

View File

@@ -36,56 +36,26 @@ public class CraftBlockState implements BlockState {
return new CraftBlockState(world.getWorld().getBlockAt(x, y, z)); return new CraftBlockState(world.getWorld().getBlockAt(x, y, z));
} }
/**
* Gets the world which contains this Block
*
* @return World containing this block
*/
public World getWorld() { public World getWorld() {
return world; return world;
} }
/**
* Gets the x-coordinate of this block
*
* @return x-coordinate
*/
public int getX() { public int getX() {
return x; return x;
} }
/**
* Gets the y-coordinate of this block
*
* @return y-coordinate
*/
public int getY() { public int getY() {
return y; return y;
} }
/**
* Gets the z-coordinate of this block
*
* @return z-coordinate
*/
public int getZ() { public int getZ() {
return z; return z;
} }
/**
* Gets the chunk which contains this block
*
* @return Containing Chunk
*/
public Chunk getChunk() { public Chunk getChunk() {
return chunk; return chunk;
} }
/**
* Sets the metadata for this block
*
* @param data New block specific metadata
*/
public void setData(final MaterialData data) { public void setData(final MaterialData data) {
Material mat = getType(); Material mat = getType();
@@ -101,29 +71,14 @@ public class CraftBlockState implements BlockState {
} }
} }
/**
* Gets the metadata for this block
*
* @return block specific metadata
*/
public MaterialData getData() { public MaterialData getData() {
return data; return data;
} }
/**
* Sets the type of this block
*
* @param type Material to change this block to
*/
public void setType(final Material type) { public void setType(final Material type) {
setTypeId(type.getId()); setTypeId(type.getId());
} }
/**
* Sets the type-id of this block
*
* @param type Type-Id to change this block to
*/
public boolean setTypeId(final int type) { public boolean setTypeId(final int type) {
this.type = type; this.type = type;
@@ -131,29 +86,14 @@ public class CraftBlockState implements BlockState {
return true; return true;
} }
/**
* Gets the type of this block
*
* @return block type
*/
public Material getType() { public Material getType() {
return Material.getMaterial(getTypeId()); return Material.getMaterial(getTypeId());
} }
/**
* Gets the type-id of this block
*
* @return block type-id
*/
public int getTypeId() { public int getTypeId() {
return type; return type;
} }
/**
* Gets the light level between 0-15
*
* @return light level
*/
public byte getLightLevel() { public byte getLightLevel() {
return light; return light;
} }

View File

@@ -44,7 +44,7 @@ public class CraftJukebox extends CraftBlockState implements Jukebox {
public boolean eject() { public boolean eject() {
boolean result = isPlaying(); boolean result = isPlaying();
((BlockJukeBox)net.minecraft.server.Block.JUKEBOX).dropRecord(world.getHandle(), getX(), getY(), getZ()); ((BlockJukeBox) net.minecraft.server.Block.JUKEBOX).dropRecord(world.getHandle(), getX(), getY(), getZ());
return result; return result;
} }
} }

View File

@@ -13,7 +13,7 @@ public class ServerCommandListener implements ICommandListener {
public ServerCommandListener(CommandSender commandSender) { public ServerCommandListener(CommandSender commandSender) {
this.commandSender = commandSender; this.commandSender = commandSender;
String[] parts = commandSender.getClass().getName().split("\\."); String[] parts = commandSender.getClass().getName().split("\\.");
this.prefix = parts[parts.length-1]; this.prefix = parts[parts.length - 1];
} }
public void sendMessage(String msg) { public void sendMessage(String msg) {

View File

@@ -107,11 +107,11 @@ public class CraftEnchantment extends Enchantment {
public static net.minecraft.server.Enchantment getRaw(Enchantment enchantment) { public static net.minecraft.server.Enchantment getRaw(Enchantment enchantment) {
if (enchantment instanceof EnchantmentWrapper) { if (enchantment instanceof EnchantmentWrapper) {
enchantment = ((EnchantmentWrapper)enchantment).getEnchantment(); enchantment = ((EnchantmentWrapper) enchantment).getEnchantment();
} }
if (enchantment instanceof CraftEnchantment) { if (enchantment instanceof CraftEnchantment) {
return ((CraftEnchantment)enchantment).target; return ((CraftEnchantment) enchantment).target;
} }
return null; return null;

View File

@@ -30,7 +30,7 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
} }
@Override @Override
public EntityArrow getHandle(){ public EntityArrow getHandle() {
return (EntityArrow) entity; return (EntityArrow) entity;
} }

View File

@@ -177,7 +177,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
List<Entity> notchEntityList = entity.world.getEntities(entity, entity.boundingBox.grow(x, y, z)); List<Entity> notchEntityList = entity.world.getEntities(entity, entity.boundingBox.grow(x, y, z));
List<org.bukkit.entity.Entity> bukkitEntityList = new java.util.ArrayList<org.bukkit.entity.Entity>(notchEntityList.size()); List<org.bukkit.entity.Entity> bukkitEntityList = new java.util.ArrayList<org.bukkit.entity.Entity>(notchEntityList.size());
for (Entity e: notchEntityList) { for (Entity e : notchEntityList) {
bukkitEntityList.add(e.getBukkitEntity()); bukkitEntityList.add(e.getBukkitEntity());
} }
return bukkitEntityList; return bukkitEntityList;
@@ -269,7 +269,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
CraftPlayer result = players.get(entity.name); CraftPlayer result = players.get(entity.name);
if (result == null) { if (result == null) {
result = new CraftPlayer((CraftServer)Bukkit.getServer(), entity); result = new CraftPlayer((CraftServer) Bukkit.getServer(), entity);
players.put(entity.name, result); players.put(entity.name, result);
} else { } else {
result.setHandle(entity); result.setHandle(entity);

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit.entity; package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityExperienceOrb; import net.minecraft.server.EntityExperienceOrb;

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit.entity; package org.bukkit.craftbukkit.entity;
import java.util.Set; import java.util.Set;

View File

@@ -173,9 +173,9 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
DamageSource reason = DamageSource.GENERIC; DamageSource reason = DamageSource.GENERIC;
if (source instanceof HumanEntity) { if (source instanceof HumanEntity) {
reason = DamageSource.playerAttack(((CraftHumanEntity)source).getHandle()); reason = DamageSource.playerAttack(((CraftHumanEntity) source).getHandle());
} else if (source instanceof LivingEntity) { } else if (source instanceof LivingEntity) {
reason = DamageSource.mobAttack(((CraftLivingEntity)source).getHandle()); reason = DamageSource.mobAttack(((CraftLivingEntity) source).getHandle());
} }
entity.damageEntity(reason, amount); entity.damageEntity(reason, amount);
@@ -226,6 +226,6 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
public Player getKiller() { public Player getKiller() {
return getHandle().killer == null ? null : (Player)getHandle().killer.getBukkitEntity(); return getHandle().killer == null ? null : (Player) getHandle().killer.getBukkitEntity();
} }
} }

View File

@@ -1,6 +1,5 @@
package org.bukkit.craftbukkit.entity; package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityMagmaCube; import net.minecraft.server.EntityMagmaCube;
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.MagmaCube; import org.bukkit.entity.MagmaCube;

View File

@@ -102,7 +102,7 @@ public class CraftPainting extends CraftEntity implements Painting {
} }
private void update() { private void update() {
WorldServer world = ((CraftWorld)getWorld()).getHandle(); WorldServer world = ((CraftWorld) getWorld()).getHandle();
EntityPainting painting = new EntityPainting(world); EntityPainting painting = new EntityPainting(world);
painting.x = getHandle().x; painting.x = getHandle().x;
painting.y = getHandle().y; painting.y = getHandle().y;

View File

@@ -76,7 +76,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public boolean isOnline() { public boolean isOnline() {
for (Object obj: server.getHandle().players) { for (Object obj : server.getHandle().players) {
EntityPlayer player = (EntityPlayer) obj; EntityPlayer player = (EntityPlayer) obj;
if (player.name.equalsIgnoreCase(getName())) { if (player.name.equalsIgnoreCase(getName())) {
return true; return true;
@@ -173,7 +173,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (!(obj instanceof OfflinePlayer)) { if (!(obj instanceof OfflinePlayer)) {
return false; return false;
} }
OfflinePlayer other = (OfflinePlayer)obj; OfflinePlayer other = (OfflinePlayer) obj;
if ((this.getName() == null) || (other.getName() == null)) { if ((this.getName() == null) || (other.getName() == null)) {
return false; return false;
} }
@@ -485,7 +485,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public int getExperience() { public int getExperience() {
return (int)(getExp() * 100); return (int) (getExp() * 100);
} }
public void setExperience(int exp) { public void setExperience(int exp) {
@@ -493,7 +493,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public int getLevel() { public int getLevel() {
return (int)getHandle().expLevel; return (int) getHandle().expLevel;
} }
public void setLevel(int level) { public void setLevel(int level) {
@@ -655,7 +655,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
for (String channel : listening) { for (String channel : listening) {
try { try {
stream.write(channel.getBytes("UTF8")); stream.write(channel.getBytes("UTF8"));
stream.write((byte)0); stream.write((byte) 0);
} catch (IOException ex) { } catch (IOException ex) {
Logger.getLogger(CraftPlayer.class.getName()).log(Level.SEVERE, "Could not send Plugin Channel REGISTER to " + getName(), ex); Logger.getLogger(CraftPlayer.class.getName()).log(Level.SEVERE, "Could not send Plugin Channel REGISTER to " + getName(), ex);
} }

View File

@@ -13,7 +13,7 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
public LivingEntity getShooter() { public LivingEntity getShooter() {
if (getHandle().shooter instanceof EntityLiving) { if (getHandle().shooter instanceof EntityLiving) {
return (LivingEntity)getHandle().shooter.getBukkitEntity(); return (LivingEntity) getHandle().shooter.getBukkitEntity();
} }
return null; return null;
@@ -21,7 +21,7 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
public void setShooter(LivingEntity shooter) { public void setShooter(LivingEntity shooter) {
if (shooter instanceof CraftLivingEntity) { if (shooter instanceof CraftLivingEntity) {
getHandle().shooter = (EntityLiving)((CraftLivingEntity)shooter).entity; getHandle().shooter = (EntityLiving) ((CraftLivingEntity) shooter).entity;
} }
} }

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit.entity; package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityWeather; import net.minecraft.server.EntityWeather;

View File

@@ -74,6 +74,7 @@ public class CraftWolf extends CraftAnimals implements Wolf {
/** /**
* The owner's name is how MC knows and persists the Wolf's owner. Since we choose to instead use an AnimalTamer, this functionality * The owner's name is how MC knows and persists the Wolf's owner. Since we choose to instead use an AnimalTamer, this functionality
* is used only as a backup. If the animal tamer is a player, we will store their name, otherwise we store an empty string. * is used only as a backup. If the animal tamer is a player, we will store their name, otherwise we store an empty string.
*
* @return the owner's name, if they are a player; otherwise, the empty string or null. * @return the owner's name, if they are a player; otherwise, the empty string or null.
*/ */
String getOwnerName() { String getOwnerName() {
@@ -87,6 +88,7 @@ public class CraftWolf extends CraftAnimals implements Wolf {
/** /**
* Only used internally at the moment, and there to set the path to null (that is stop the thing from running around) * Only used internally at the moment, and there to set the path to null (that is stop the thing from running around)
* TODO use this later to extend the API, when we have Path classes in Bukkit * TODO use this later to extend the API, when we have Path classes in Bukkit
*
* @param pathentity currently the MC defined PathEntity class. Should be replaced with an API interface at some point. * @param pathentity currently the MC defined PathEntity class. Should be replaced with an API interface at some point.
*/ */
private void setPath(PathEntity pathentity) { private void setPath(PathEntity pathentity) {
@@ -103,8 +105,6 @@ public class CraftWolf extends CraftAnimals implements Wolf {
@Override @Override
public EntityWolf getHandle() { public EntityWolf getHandle() {
// It's somewhat easier to override this here, as many internal methods rely on EntityWolf specific methods.
// Doing this has no impact on anything outside this class.
return (EntityWolf) entity; return (EntityWolf) entity;
} }

View File

@@ -147,6 +147,7 @@ public class CraftEventFactory {
} }
return callPlayerInteractEvent(who, action, 0, 255, 0, 0, itemstack); return callPlayerInteractEvent(who, action, 0, 255, 0, 0, itemstack);
} }
public static PlayerInteractEvent callPlayerInteractEvent(EntityHuman who, Action action, int clickedX, int clickedY, int clickedZ, int clickedFace, ItemStack itemstack) { public static PlayerInteractEvent callPlayerInteractEvent(EntityHuman who, Action action, int clickedX, int clickedY, int clickedZ, int clickedFace, ItemStack itemstack) {
Player player = (who == null) ? null : (Player) who.getBukkitEntity(); Player player = (who == null) ? null : (Player) who.getBukkitEntity();
CraftItemStack itemInHand = new CraftItemStack(itemstack); CraftItemStack itemInHand = new CraftItemStack(itemstack);
@@ -317,7 +318,7 @@ public class CraftEventFactory {
victim.expToDrop = event.getDroppedExp(); victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack: event.getDrops()) { for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
world.dropItemNaturally(entity.getLocation(), stack); world.dropItemNaturally(entity.getLocation(), stack);
} }
@@ -325,7 +326,7 @@ public class CraftEventFactory {
} }
public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage) { public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage) {
CraftPlayer entity = (CraftPlayer)victim.getBukkitEntity(); CraftPlayer entity = (CraftPlayer) victim.getBukkitEntity();
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage); PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
org.bukkit.World world = entity.getWorld(); org.bukkit.World world = entity.getWorld();
Bukkit.getServer().getPluginManager().callEvent(event); Bukkit.getServer().getPluginManager().callEvent(event);
@@ -337,7 +338,7 @@ public class CraftEventFactory {
victim.expToDrop = event.getDroppedExp(); victim.expToDrop = event.getDroppedExp();
victim.newExp = event.getNewExp(); victim.newExp = event.getNewExp();
for (org.bukkit.inventory.ItemStack stack: event.getDrops()) { for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
world.dropItemNaturally(entity.getLocation(), stack); world.dropItemNaturally(entity.getLocation(), stack);
} }

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit.generator; package org.bukkit.craftbukkit.generator;
import net.minecraft.server.IChunkProvider; import net.minecraft.server.IChunkProvider;

View File

@@ -63,7 +63,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
} }
public boolean contains(int materialId) { public boolean contains(int materialId) {
for (ItemStack item: getContents()) { for (ItemStack item : getContents()) {
if (item != null && item.getTypeId() == materialId) { if (item != null && item.getTypeId() == materialId) {
return true; return true;
} }
@@ -79,7 +79,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
if (item == null) { if (item == null) {
return false; return false;
} }
for (ItemStack i: getContents()) { for (ItemStack i : getContents()) {
if (item.equals(i)) { if (item.equals(i)) {
return true; return true;
} }
@@ -89,7 +89,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
public boolean contains(int materialId, int amount) { public boolean contains(int materialId, int amount) {
int amt = 0; int amt = 0;
for (ItemStack item: getContents()) { for (ItemStack item : getContents()) {
if (item != null && item.getTypeId() == materialId) { if (item != null && item.getTypeId() == materialId) {
amt += item.getAmount(); amt += item.getAmount();
} }
@@ -106,7 +106,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
return false; return false;
} }
int amt = 0; int amt = 0;
for (ItemStack i: getContents()) { for (ItemStack i : getContents()) {
if (item.equals(i)) { if (item.equals(i)) {
amt += item.getAmount(); amt += item.getAmount();
} }

View File

@@ -175,10 +175,10 @@ public class CraftItemStack extends ItemStack {
} }
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
short id = ((NBTTagCompound)list.get(i)).getShort("id"); short id = ((NBTTagCompound) list.get(i)).getShort("id");
short level = ((NBTTagCompound)list.get(i)).getShort("lvl"); short level = ((NBTTagCompound) list.get(i)).getShort("lvl");
result.put(Enchantment.getById(id), (int)level); result.put(Enchantment.getById(id), (int) level);
} }
return result; return result;
@@ -197,8 +197,8 @@ public class CraftItemStack extends ItemStack {
for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) { for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
NBTTagCompound subtag = new NBTTagCompound(); NBTTagCompound subtag = new NBTTagCompound();
subtag.setShort("id", (short)entry.getKey().getId()); subtag.setShort("id", (short) entry.getKey().getId());
subtag.setShort("lvl", (short)(int)entry.getValue()); subtag.setShort("lvl", (short) (int) entry.getValue());
list.add(subtag); list.add(subtag);
} }

View File

@@ -33,7 +33,8 @@ public class CraftMapCanvas implements MapCanvas {
} }
public void setPixel(int x, int y, byte color) { public void setPixel(int x, int y, byte color) {
if (x < 0 || y < 0 || x >= 128 || y >= 128) return; if (x < 0 || y < 0 || x >= 128 || y >= 128)
return;
if (buffer[y * 128 + x] != color) { if (buffer[y * 128 + x] != color) {
buffer[y * 128 + x] = color; buffer[y * 128 + x] = color;
mapView.worldMap.flagDirty(x, y, y); mapView.worldMap.flagDirty(x, y, y);
@@ -41,12 +42,14 @@ public class CraftMapCanvas implements MapCanvas {
} }
public byte getPixel(int x, int y) { public byte getPixel(int x, int y) {
if (x < 0 || y < 0 || x >= 128 || y >= 128) return 0; if (x < 0 || y < 0 || x >= 128 || y >= 128)
return 0;
return buffer[y * 128 + x]; return buffer[y * 128 + x];
} }
public byte getBasePixel(int x, int y) { public byte getBasePixel(int x, int y) {
if (x < 0 || y < 0 || x >= 128 || y >= 128) return 0; if (x < 0 || y < 0 || x >= 128 || y >= 128)
return 0;
return base[y * 128 + x]; return base[y * 128 + x];
} }

View File

@@ -36,7 +36,7 @@ public class CraftMapRenderer extends MapRenderer {
} }
for (int i = 0; i < worldMap.decorations.size(); ++i) { for (int i = 0; i < worldMap.decorations.size(); ++i) {
WorldMapDecoration decoration = (WorldMapDecoration) worldMap.decorations.get(i); WorldMapDecoration decoration = (WorldMapDecoration) worldMap.decorations.get(i);
cursors.addCursor(decoration.locX, decoration.locY, (byte)(decoration.rotation & 15), (byte)(decoration.type)); cursors.addCursor(decoration.locX, decoration.locY, (byte) (decoration.rotation & 15), (byte) (decoration.type));
} }
} }

View File

@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.util;
public class EntryBase { public class EntryBase {
protected long key; protected long key;
public EntryBase(long key) { public EntryBase(long key) {
this.key = key; this.key = key;
} }

View File

@@ -84,7 +84,7 @@ public class LongBaseHashtable extends LongHash {
if (inner[i].key == key) { if (inner[i].key == key) {
for (i++; i < inner.length; i++) { for (i++; i < inner.length; i++) {
if (inner[i] == null) break; if (inner[i] == null) break;
inner[i-1] = inner[i]; inner[i - 1] = inner[i];
} }
inner[i-1] = null; inner[i-1] = null;
@@ -97,13 +97,13 @@ public class LongBaseHashtable extends LongHash {
public synchronized ArrayList<EntryBase> entries() { public synchronized ArrayList<EntryBase> entries() {
ArrayList<EntryBase> ret = new ArrayList<EntryBase>(); ArrayList<EntryBase> ret = new ArrayList<EntryBase>();
for (EntryBase[][] outer: this.values) { for (EntryBase[][] outer : this.values) {
if (outer == null) continue; if (outer == null) continue;
for (EntryBase[] inner: outer) { for (EntryBase[] inner : outer) {
if (inner == null) continue; if (inner == null) continue;
for (EntryBase entry: inner) { for (EntryBase entry : inner) {
if (entry == null) break; if (entry == null) break;
ret.add(entry); ret.add(entry);

View File

@@ -71,7 +71,7 @@ public class LongHashset extends LongHash {
long[] inner = outer[(int) ((key >> 32) & 255)]; long[] inner = outer[(int) ((key >> 32) & 255)];
if (inner == null) return false; if (inner == null) return false;
for (long entry: inner) { for (long entry : inner) {
if (entry == key) return true; if (entry == key) return true;
} }
return false; return false;
@@ -134,7 +134,7 @@ public class LongHashset extends LongHash {
rl.lock(); rl.lock();
try { try {
long[] ret = new long[this.count]; long[] ret = new long[this.count];
for (long[][] outer: this.values) { for (long[][] outer : this.values) {
if (outer == null) continue; if (outer == null) continue;
for (int oIdx = outer.length - 1; oIdx >= 0; oIdx--) { for (int oIdx = outer.length - 1; oIdx >= 0; oIdx--) {
@@ -159,13 +159,13 @@ public class LongHashset extends LongHash {
rl.lock(); rl.lock();
try { try {
long[] ret = new long[this.count]; long[] ret = new long[this.count];
for (long[][] outer: this.values) { for (long[][] outer : this.values) {
if (outer == null) continue; if (outer == null) continue;
for (long[] inner: outer) { for (long[] inner : outer) {
if (inner == null) continue; if (inner == null) continue;
for (long entry: inner) { for (long entry : inner) {
ret[index++] = entry; ret[index++] = entry;
} }
} }

View File

@@ -28,7 +28,7 @@ public class LongHashtable<V> extends LongBaseHashtable {
ArrayList<EntryBase> entries = entries(); ArrayList<EntryBase> entries = entries();
for(EntryBase entry : entries) { for (EntryBase entry : entries) {
ret.add(((Entry) entry).value); ret.add(((Entry) entry).value);
} }
return ret; return ret;
@@ -36,6 +36,7 @@ public class LongHashtable<V> extends LongBaseHashtable {
private class Entry extends EntryBase { private class Entry extends EntryBase {
V value; V value;
Entry(long k, V v) { Entry(long k, V v) {
super(k); super(k);
this.value = v; this.value = v;

View File

@@ -1,4 +1,3 @@
package org.bukkit.craftbukkit.util; package org.bukkit.craftbukkit.util;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;