Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-19 21:10:10 +01:00
Fix formatting.
Dieser Commit ist enthalten in:
Ursprung
61ec751ca1
Commit
a4ce846d07
@ -132,7 +132,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
BlockFace[] faces = new BlockFace[] { BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST };
|
||||
int index = 0;
|
||||
|
||||
for (BlockFace currentFace: faces) {
|
||||
for (BlockFace currentFace : faces) {
|
||||
if (aboolean[index]) {
|
||||
BlockFromToEvent event = new BlockFromToEvent(source, currentFace);
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class BlockPressurePlate extends Block {
|
||||
|
||||
if (flag != flag1) {
|
||||
if (flag1) {
|
||||
for (Object object: list) {
|
||||
for (Object object : list) {
|
||||
if (object != null) {
|
||||
org.bukkit.event.Cancellable cancellable;
|
||||
|
||||
|
@ -9,6 +9,7 @@ import java.util.logging.Logger;
|
||||
import java.util.logging.Handler;
|
||||
import org.bukkit.craftbukkit.util.ShortConsoleLogFormatter;
|
||||
import org.bukkit.craftbukkit.util.TerminalConsoleHandler;
|
||||
|
||||
// CraftBukkit end
|
||||
|
||||
public class ConsoleLogManager {
|
||||
@ -16,7 +17,8 @@ public class ConsoleLogManager {
|
||||
public static Logger a = Logger.getLogger("Minecraft");
|
||||
public static Logger global = Logger.getLogger(""); // CraftBukkit
|
||||
|
||||
public ConsoleLogManager() {}
|
||||
public ConsoleLogManager() {
|
||||
}
|
||||
|
||||
// CraftBukkit - change of method signature!
|
||||
public static void init(MinecraftServer server) {
|
||||
@ -26,7 +28,7 @@ public class ConsoleLogManager {
|
||||
// CraftBukkit start
|
||||
ConsoleHandler consolehandler = new TerminalConsoleHandler(server.reader);
|
||||
|
||||
for (Handler handler: global.getHandlers()) {
|
||||
for (Handler handler : global.getHandlers()) {
|
||||
global.removeHandler(handler);
|
||||
}
|
||||
|
||||
@ -38,10 +40,10 @@ public class ConsoleLogManager {
|
||||
|
||||
try {
|
||||
// CraftBukkit start
|
||||
String pattern = (String)server.options.valueOf("log-pattern");
|
||||
int limit = ((Integer)server.options.valueOf("log-limit")).intValue();
|
||||
int count = ((Integer)server.options.valueOf("log-count")).intValue();
|
||||
boolean append = ((Boolean)server.options.valueOf("log-append")).booleanValue();
|
||||
String pattern = (String) server.options.valueOf("log-pattern");
|
||||
int limit = ((Integer) server.options.valueOf("log-limit")).intValue();
|
||||
int count = ((Integer) server.options.valueOf("log-count")).intValue();
|
||||
boolean append = ((Boolean) server.options.valueOf("log-append")).booleanValue();
|
||||
FileHandler filehandler = new FileHandler(pattern, limit, count, append);
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -3,7 +3,7 @@ package net.minecraft.server;
|
||||
import org.bukkit.craftbukkit.enchantments.CraftEnchantment;
|
||||
|
||||
public abstract class Enchantment {
|
||||
// CraftBukkit - update CraftEnchant.getName(i) if this changes.
|
||||
// CraftBukkit - update CraftEnchant.getName(i) if this changes.
|
||||
public static final Enchantment[] byId = new Enchantment[256];
|
||||
public static final Enchantment PROTECTION_ENVIRONMENTAL = new EnchantmentProtection(0, 10, 0);
|
||||
public static final Enchantment PROTECTION_FIRE = new EnchantmentProtection(1, 5, 1);
|
||||
|
@ -73,9 +73,9 @@ public class EntityEgg extends EntityProjectile {
|
||||
if (hatching) {
|
||||
for (int k = 0; k < numHatching; k++) {
|
||||
org.bukkit.entity.Entity entity = world.getWorld().spawn(new Location(world.getWorld(), this.locX, this.locY, this.locZ, this.yaw, 0.0F), hatchingType.getEntityClass(), SpawnReason.EGG);
|
||||
|
||||
|
||||
if (entity instanceof Animals) {
|
||||
((Animals)entity).setAge(-24000);
|
||||
((Animals) entity).setAge(-24000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -491,8 +491,8 @@ public class EntityEnderDragon extends EntityComplex {
|
||||
EntityExplodeEvent event = new EntityExplodeEvent(bukkitEntity, bukkitEntity.getLocation(), destroyedBlocks, 0F);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
// this flag literally means 'Dragon hit something hard' (Obsidian, White Stone or Bedrock) and will cause the dragon to slow down.
|
||||
// We should consider adding an event extension for it, or perhaps returning true if the event is cancelled.
|
||||
// this flag literally means 'Dragon hit something hard' (Obsidian, White Stone or Bedrock) and will cause the dragon to slow down.
|
||||
// We should consider adding an event extension for it, or perhaps returning true if the event is cancelled.
|
||||
return flag;
|
||||
} else {
|
||||
for (org.bukkit.block.Block block : event.blockList()) {
|
||||
|
@ -35,7 +35,7 @@ public class EntityEnderPearl extends EntityProjectile {
|
||||
|
||||
if (this.shooter != null) {
|
||||
if (this.shooter instanceof EntityPlayer) {
|
||||
CraftPlayer player = (CraftPlayer)this.shooter.bukkitEntity;
|
||||
CraftPlayer player = (CraftPlayer) this.shooter.bukkitEntity;
|
||||
teleport = player.isOnline();
|
||||
|
||||
if (teleport) {
|
||||
@ -50,7 +50,7 @@ public class EntityEnderPearl extends EntityProjectile {
|
||||
|
||||
if (teleport) {
|
||||
if (this.shooter instanceof EntityPlayer) {
|
||||
((EntityPlayer)this.shooter).netServerHandler.teleport(teleEvent.getTo());
|
||||
((EntityPlayer) this.shooter).netServerHandler.teleport(teleEvent.getTo());
|
||||
} else {
|
||||
this.shooter.enderTeleportTo(this.locX, this.locY, this.locZ);
|
||||
}
|
||||
|
@ -843,7 +843,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
|
||||
if (l > 0) {
|
||||
// CraftBukkit start - raise a combust event when somebody hits with a fire enchanted item
|
||||
EntityCombustByEntityEvent combustEvent = new EntityCombustByEntityEvent(this.getBukkitEntity(), entity.getBukkitEntity(), l*4);
|
||||
EntityCombustByEntityEvent combustEvent = new EntityCombustByEntityEvent(this.getBukkitEntity(), entity.getBukkitEntity(), l * 4);
|
||||
Bukkit.getPluginManager().callEvent(combustEvent);
|
||||
|
||||
if (!combustEvent.isCancelled()) {
|
||||
|
@ -3,7 +3,7 @@ package net.minecraft.server;
|
||||
// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
// CraftBukkit End
|
||||
// CraftBukkit end
|
||||
|
||||
public class EntityItem extends Entity {
|
||||
|
||||
|
@ -125,7 +125,7 @@ public class EntityPainting extends Entity {
|
||||
this.f = 0;
|
||||
if (!this.survives()) {
|
||||
// CraftBukkit start
|
||||
Material material = this.world.getMaterial((int)this.locX, (int)this.locY, (int)this.locZ);
|
||||
Material material = this.world.getMaterial((int) this.locX, (int) this.locY, (int) this.locZ);
|
||||
RemoveCause cause;
|
||||
if (material.equals(Material.WATER)) {
|
||||
cause = RemoveCause.WATER;
|
||||
@ -142,7 +142,7 @@ public class EntityPainting extends Entity {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!dead) {
|
||||
if (!dead) {
|
||||
this.die();
|
||||
this.world.addEntity(new EntityItem(this.world, this.locX, this.locY, this.locZ, new ItemStack(Item.PAINTING)));
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public class EntityPig extends EntityAnimal {
|
||||
// CraftBukkit end
|
||||
|
||||
entitypigzombie.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
|
||||
// CraftBukkit - added a reason for spawning this creature
|
||||
// CraftBukkit - added a reason for spawning this creature
|
||||
this.world.addEntity(entitypigzombie, SpawnReason.LIGHTNING);
|
||||
this.die();
|
||||
}
|
||||
|
@ -633,12 +633,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
public void reset() {
|
||||
float exp = 0;
|
||||
if(this.keepLevel) {
|
||||
if (this.keepLevel) {
|
||||
exp = this.exp;
|
||||
this.newTotalExp = this.expTotal;
|
||||
this.newLevel = this.expLevel;
|
||||
}
|
||||
|
||||
|
||||
this.health = 20;
|
||||
this.fireTicks = 0;
|
||||
this.fallDistance = 0;
|
||||
@ -650,7 +650,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
effects.clear();
|
||||
this.activeContainer = this.defaultContainer;
|
||||
this.lastSentExp = -1;
|
||||
if(this.keepLevel) {
|
||||
if (this.keepLevel) {
|
||||
this.exp = exp;
|
||||
} else {
|
||||
this.giveExp(this.newExp);
|
||||
@ -659,7 +659,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
}
|
||||
|
||||
public CraftPlayer getPlayer() {
|
||||
return (CraftPlayer)getBukkitEntity();
|
||||
return (CraftPlayer) getBukkitEntity();
|
||||
}
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
@ -119,15 +119,15 @@ public class EntitySpider extends EntityMonster {
|
||||
// CraftBukkit start - whole method; adapted from super.dropDeathLoot.
|
||||
List<org.bukkit.inventory.ItemStack> loot = new java.util.ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
|
||||
int k = this.random.nextInt(3);
|
||||
int k = this.random.nextInt(3);
|
||||
|
||||
if (i > 0) {
|
||||
k += this.random.nextInt(i + 1);
|
||||
}
|
||||
if (i > 0) {
|
||||
k += this.random.nextInt(i + 1);
|
||||
}
|
||||
|
||||
if (k > 0) {
|
||||
loot.add(new org.bukkit.inventory.ItemStack(Item.STRING.id, k));
|
||||
}
|
||||
if (k > 0) {
|
||||
loot.add(new org.bukkit.inventory.ItemStack(Item.STRING.id, k));
|
||||
}
|
||||
|
||||
if (flag && (this.random.nextInt(3) == 0 || this.random.nextInt(1 + i) > 0)) {
|
||||
loot.add(new org.bukkit.inventory.ItemStack(Item.SPIDER_EYE.id, 1));
|
||||
|
@ -117,7 +117,7 @@ public class EntityWolf extends EntityAnimal {
|
||||
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), bukkitTarget, EntityTargetEvent.TargetReason.RANDOM_TARGET);
|
||||
this.world.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (!event.isCancelled() || event.getTarget() != null ) {
|
||||
if (!event.isCancelled() || event.getTarget() != null) {
|
||||
this.setTarget(entity);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -71,8 +71,7 @@ public class ItemBlock extends Item {
|
||||
CraftBlockState blockStateBelow = null;
|
||||
// Toggles whether the normal or the block below is used for the place event
|
||||
boolean eventUseBlockBelow = false;
|
||||
if ((world.getTypeId(i, j - 1, k) == Block.STEP.id || world.getTypeId(i, j - 1, k) == Block.DOUBLE_STEP.id)
|
||||
&& (itemstack.id == Block.DOUBLE_STEP.id || itemstack.id == Block.STEP.id)) {
|
||||
if ((world.getTypeId(i, j - 1, k) == Block.STEP.id || world.getTypeId(i, j - 1, k) == Block.DOUBLE_STEP.id) && (itemstack.id == Block.DOUBLE_STEP.id || itemstack.id == Block.STEP.id)) {
|
||||
blockStateBelow = CraftBlockState.getBlockState(world, i, j - 1, k);
|
||||
// Step is placed on step, forms a doublestep replacing the original step, so we need the lower block
|
||||
eventUseBlockBelow = itemstack.id == Block.STEP.id && blockStateBelow.getTypeId() == Block.STEP.id;
|
||||
|
@ -29,7 +29,7 @@ public class ItemDye extends Item {
|
||||
if (i1 == Block.SAPLING.id) {
|
||||
if (!world.isStatic) {
|
||||
// CraftBukkit start
|
||||
Player player = (entityhuman instanceof EntityPlayer) ? (Player)entityhuman.getBukkitEntity() : null;
|
||||
Player player = (entityhuman instanceof EntityPlayer) ? (Player) entityhuman.getBukkitEntity() : null;
|
||||
((BlockSapling) Block.SAPLING).grow(world, i, j, k, world.random, true, player, itemstack);
|
||||
//--itemstack.count; - called later if the bonemeal attempt was succesful
|
||||
// CraftBukkit end
|
||||
@ -41,7 +41,7 @@ public class ItemDye extends Item {
|
||||
if (i1 == Block.BROWN_MUSHROOM.id || i1 == Block.RED_MUSHROOM.id) {
|
||||
// CraftBukkit start
|
||||
if (!world.isStatic) {
|
||||
Player player = (entityhuman instanceof EntityPlayer) ? (Player)entityhuman.getBukkitEntity() : null;
|
||||
Player player = (entityhuman instanceof EntityPlayer) ? (Player) entityhuman.getBukkitEntity() : null;
|
||||
((BlockMushroom) Block.byId[i1]).grow(world, i, j, k, world.random, true, player, itemstack);
|
||||
//--itemstack.count; - called later if the bonemeal attempt was succesful
|
||||
// CraftBukkit end
|
||||
|
@ -18,7 +18,7 @@ public class ItemFishingRod extends Item {
|
||||
entityhuman.s_();
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
PlayerFishEvent playerFishEvent = new PlayerFishEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), null,PlayerFishEvent.State.FISHING);
|
||||
PlayerFishEvent playerFishEvent = new PlayerFishEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), null, PlayerFishEvent.State.FISHING);
|
||||
world.getServer().getPluginManager().callEvent(playerFishEvent);
|
||||
|
||||
if (playerFishEvent.isCancelled()) {
|
||||
|
@ -61,7 +61,7 @@ public class ItemRedstone extends Item {
|
||||
return false;
|
||||
}
|
||||
|
||||
world.update( i, j, k, Block.REDSTONE_WIRE.id); // Must take place after BlockPlaceEvent, we need to update all other blocks.
|
||||
world.update(i, j, k, Block.REDSTONE_WIRE.id); // Must take place after BlockPlaceEvent, we need to update all other blocks.
|
||||
// CraftBukkit end
|
||||
|
||||
--itemstack.count; // CraftBukkit - ORDER MATTERS
|
||||
|
@ -502,7 +502,7 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
|
||||
|
||||
// Send timeupdates to everyone, it will get the right time from the world the player is in.
|
||||
if (this.ticks % 20 == 0) {
|
||||
for ( k = 0; k < this.serverConfigurationManager.players.size(); ++k) {
|
||||
for (k = 0; k < this.serverConfigurationManager.players.size(); ++k) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) this.serverConfigurationManager.players.get(k);
|
||||
entityplayer.netServerHandler.sendPacket(new Packet4UpdateTime(entityplayer.getPlayerTime())); // Add support for per player time
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ public class NetLoginHandler extends NetHandler {
|
||||
|
||||
netserverhandler.sendPacket(new Packet6SpawnPosition(chunkcoordinates.x, chunkcoordinates.y, chunkcoordinates.z));
|
||||
this.server.serverConfigurationManager.a(entityplayer, worldserver);
|
||||
// this.server.serverConfigurationManager.sendAll(new Packet3Chat("\u00A7e" + entityplayer.name + " joined the game.")); // CraftBukkit - message moved to join event
|
||||
// this.server.serverConfigurationManager.sendAll(new Packet3Chat("\u00A7e" + entityplayer.name + " joined the game.")); // CraftBukkit - message moved to join event
|
||||
this.server.serverConfigurationManager.c(entityplayer);
|
||||
netserverhandler.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
|
||||
this.server.networkListenThread.a(netserverhandler);
|
||||
|
@ -65,6 +65,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
|
||||
// CraftBukkit start
|
||||
this.server = minecraftserver.server;
|
||||
}
|
||||
|
||||
private final CraftServer server;
|
||||
private int lastTick = MinecraftServer.currentTick;
|
||||
private int lastDropTick = MinecraftServer.currentTick;
|
||||
@ -674,7 +675,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
|
||||
this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.x, packet6.y, packet6.z);
|
||||
} else if (packet instanceof Packet3Chat) {
|
||||
String message = ((Packet3Chat) packet).message;
|
||||
for (final String line: TextWrapper.wrapText(message)) {
|
||||
for (final String line : TextWrapper.wrapText(message)) {
|
||||
this.networkManager.queue(new Packet3Chat(line));
|
||||
}
|
||||
packet = null;
|
||||
|
@ -103,7 +103,7 @@ public abstract class Packet {
|
||||
}
|
||||
|
||||
// CraftBukkit - throws IOException
|
||||
public static void a(String s, DataOutputStream dataoutputstream) throws IOException {
|
||||
public static void a(String s, DataOutputStream dataoutputstream) throws IOException {
|
||||
if (s.length() > 32767) {
|
||||
throw new IOException("String too big");
|
||||
} else {
|
||||
@ -113,7 +113,7 @@ public abstract class Packet {
|
||||
}
|
||||
|
||||
// CraftBukkit - throws IOException
|
||||
public static String a(DataInputStream datainputstream, int i) throws IOException {
|
||||
public static String a(DataInputStream datainputstream, int i) throws IOException {
|
||||
short short1 = datainputstream.readShort();
|
||||
|
||||
if (short1 > i) {
|
||||
|
@ -18,13 +18,16 @@ public final class SpawnerCreature {
|
||||
// private static HashMap b = new HashMap(); // CraftBukkit - moved local to spawnEntities
|
||||
static private class ChunkEntry extends EntryBase {
|
||||
public boolean spawn;
|
||||
public ChunkEntry (int x, int z, boolean spawn) {
|
||||
|
||||
public ChunkEntry(int x, int z, boolean spawn) {
|
||||
super(LongHash.toLong(x, z));
|
||||
this.spawn = spawn;
|
||||
}
|
||||
|
||||
int getX() {
|
||||
return LongHash.msw(key);
|
||||
}
|
||||
|
||||
int getZ() {
|
||||
return LongHash.lsw(key);
|
||||
}
|
||||
|
@ -159,7 +159,7 @@ public class TileEntityChest extends TileEntity implements IInventory {
|
||||
TileEntity entity = this.world.getTileEntity(x, y, z);
|
||||
|
||||
if (entity instanceof TileEntityChest) {
|
||||
return (TileEntityChest)entity;
|
||||
return (TileEntityChest) entity;
|
||||
} else {
|
||||
String name = "null";
|
||||
if (entity != null) {
|
||||
|
@ -15,6 +15,7 @@ public class TileEntityFurnace extends TileEntity implements IInventory {
|
||||
|
||||
// CraftBukkit start
|
||||
private int lastTick = (int) (System.currentTimeMillis() / 50);
|
||||
|
||||
public ItemStack[] getContents() {
|
||||
return this.items;
|
||||
}
|
||||
|
@ -864,9 +864,8 @@ public class World implements IBlockAccess {
|
||||
return this.addEntity(entity, SpawnReason.CUSTOM); // Set reason as Custom by default
|
||||
}
|
||||
|
||||
|
||||
public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason
|
||||
// CraftBukkit end
|
||||
// CraftBukkit end
|
||||
int i = MathHelper.floor(entity.locX / 16.0D);
|
||||
int j = MathHelper.floor(entity.locZ / 16.0D);
|
||||
boolean flag = false;
|
||||
@ -2307,7 +2306,7 @@ public class World implements IBlockAccess {
|
||||
} else {
|
||||
if (i > 1000) {
|
||||
// CraftBukkit start - if the server has too much to process over time, try to alleviate that
|
||||
if(i > 20 * 1000) {
|
||||
if (i > 20 * 1000) {
|
||||
i = i / 20;
|
||||
} else {
|
||||
i = 1000;
|
||||
|
@ -217,7 +217,7 @@ public class WorldGenBigTree extends WorldGenerator {
|
||||
aint3[b3] = MathHelper.floor((double) aint[b3] + (double) j * d1 + 0.5D);
|
||||
// CraftBukkit start
|
||||
if (event == null) {
|
||||
this.setTypeAndData(this.world, aint3[0], aint3[1], aint3[2], i, 0);
|
||||
this.setTypeAndData(this.world, aint3[0], aint3[1], aint3[2], i, 0);
|
||||
} else {
|
||||
BlockState state = bukkitWorld.getBlockAt(aint3[0], aint3[1], aint3[2]).getState();
|
||||
state.setTypeId(i);
|
||||
|
@ -205,7 +205,7 @@ public class WorldNBTStorage implements PlayerFileData, IDataManager {
|
||||
if (nbttagcompound != null) {
|
||||
// CraftBukkit start
|
||||
if (entityhuman instanceof EntityPlayer) {
|
||||
CraftPlayer player = (CraftPlayer)entityhuman.bukkitEntity;
|
||||
CraftPlayer player = (CraftPlayer) entityhuman.bukkitEntity;
|
||||
player.setFirstPlayed(new File(playerDir, entityhuman.name + ".dat").lastModified());
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -82,7 +82,7 @@ public class WorldServer extends World implements BlockChangeDelegate {
|
||||
+ "Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.");
|
||||
|
||||
if (Block.byId[type] instanceof BlockContainer) {
|
||||
TileEntity replacement = ((BlockContainer)Block.byId[type]).a_();
|
||||
TileEntity replacement = ((BlockContainer) Block.byId[type]).a_();
|
||||
setTileEntity(x, y, z, replacement);
|
||||
return replacement;
|
||||
} else {
|
||||
|
@ -23,7 +23,7 @@ public class CraftChunk implements Chunk {
|
||||
private int z;
|
||||
|
||||
public CraftChunk(net.minecraft.server.Chunk chunk) {
|
||||
if(!(chunk instanceof EmptyChunk)) {
|
||||
if (!(chunk instanceof EmptyChunk)) {
|
||||
this.weakChunk = new WeakReference<net.minecraft.server.Chunk>(chunk);
|
||||
}
|
||||
worldServer = (WorldServer) getHandle().world;
|
||||
@ -39,7 +39,7 @@ public class CraftChunk implements Chunk {
|
||||
net.minecraft.server.Chunk c = weakChunk.get();
|
||||
if (c == null) {
|
||||
c = worldServer.getChunkAt(x, z);
|
||||
if(!(c instanceof EmptyChunk)) {
|
||||
if (!(c instanceof EmptyChunk)) {
|
||||
weakChunk = new WeakReference<net.minecraft.server.Chunk>(c);
|
||||
}
|
||||
}
|
||||
@ -76,7 +76,7 @@ public class CraftChunk implements Chunk {
|
||||
|
||||
Entity[] entities = new Entity[count];
|
||||
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)) {
|
||||
continue;
|
||||
}
|
||||
@ -155,10 +155,10 @@ public class CraftChunk implements Chunk {
|
||||
biomeTemp = new double[256];
|
||||
biomeRain = new double[256];
|
||||
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];
|
||||
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];
|
||||
}
|
||||
}
|
||||
@ -212,10 +212,10 @@ public class CraftChunk implements Chunk {
|
||||
biomeTemp = new double[256];
|
||||
biomeRain = new double[256];
|
||||
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];
|
||||
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];
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import org.bukkit.block.Biome;
|
||||
import org.bukkit.craftbukkit.block.CraftBlock;
|
||||
|
||||
import net.minecraft.server.BiomeBase;
|
||||
|
||||
/**
|
||||
* 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)
|
||||
@ -23,9 +24,6 @@ public class CraftChunkSnapshot implements ChunkSnapshot {
|
||||
private static final int BLOCKLIGHT_OFF = BLOCKDATA_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) {
|
||||
this.x = x;
|
||||
this.z = z;
|
||||
@ -38,135 +36,56 @@ public class CraftChunkSnapshot implements ChunkSnapshot {
|
||||
this.biomeRain = biomeRain;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the X-coordinate of this chunk
|
||||
*
|
||||
* @return X-coordinate
|
||||
*/
|
||||
public int getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the Z-coordinate of this chunk
|
||||
*
|
||||
* @return Z-coordinate
|
||||
*/
|
||||
public int getZ() {
|
||||
return z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets name of the world containing this chunk
|
||||
*
|
||||
* @return Parent World Name
|
||||
*/
|
||||
public String getWorldName() {
|
||||
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) {
|
||||
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) {
|
||||
int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKDATA_OFF;
|
||||
|
||||
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) {
|
||||
int off = ((x << 10) | (z << 6) | (y >> 1)) + SKYLIGHT_OFF;
|
||||
|
||||
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) {
|
||||
int off = ((x << 10) | (z << 6) | (y >> 1)) + BLOCKLIGHT_OFF;
|
||||
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
return biomeRain[z << 4 | x];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get world full time when chunk snapshot was captured
|
||||
* @return time in ticks
|
||||
*/
|
||||
public long getCaptureFullTime() {
|
||||
return captureFulltime;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
protected CraftOfflinePlayer(CraftServer server, String name) {
|
||||
this.server = server;
|
||||
this.name = name;
|
||||
this.storage = (WorldNBTStorage)(server.console.worlds.get(0).getDataManager());
|
||||
this.storage = (WorldNBTStorage) (server.console.worlds.get(0).getDataManager());
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
@ -77,14 +77,14 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
|
||||
public Map<String, Object> serialize() {
|
||||
Map<String, Object> result = new LinkedHashMap<String, Object>();
|
||||
|
||||
|
||||
result.put("name", name);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
@ -93,13 +93,13 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
for (Object obj: server.getHandle().players) {
|
||||
EntityPlayer player = (EntityPlayer)obj;
|
||||
for (Object obj : server.getHandle().players) {
|
||||
EntityPlayer player = (EntityPlayer) obj;
|
||||
if (player.name.equalsIgnoreCase(getName())) {
|
||||
return (player.netServerHandler != null) ? player.netServerHandler.getPlayer() : null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
if (!(obj instanceof OfflinePlayer)) {
|
||||
return false;
|
||||
}
|
||||
OfflinePlayer other = (OfflinePlayer)obj;
|
||||
OfflinePlayer other = (OfflinePlayer) obj;
|
||||
if ((this.getName() == null) || (other.getName() == null)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
private File getConfigFile() {
|
||||
return (File)console.options.valueOf("bukkit-settings");
|
||||
return (File) console.options.valueOf("bukkit-settings");
|
||||
}
|
||||
|
||||
private void saveConfig() {
|
||||
@ -372,7 +372,6 @@ public final class CraftServer implements Server {
|
||||
return server;
|
||||
}
|
||||
|
||||
|
||||
// NOTE: Should only be called from MinecraftServer.b()
|
||||
public boolean dispatchCommand(CommandSender sender, ServerCommand serverCommand) {
|
||||
return dispatchCommand(sender, serverCommand.command);
|
||||
@ -457,7 +456,7 @@ public final class CraftServer implements Server {
|
||||
Map<String, Map<String, Object>> perms;
|
||||
|
||||
try {
|
||||
perms = (Map<String, Map<String, Object>>)yaml.load(stream);
|
||||
perms = (Map<String, Map<String, Object>>) yaml.load(stream);
|
||||
} catch (MarkedYAMLException ex) {
|
||||
getLogger().log(Level.WARNING, "Server permissions file " + file + " is not valid YAML: " + ex.toString());
|
||||
return;
|
||||
@ -557,7 +556,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
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()) {
|
||||
short short1 = 196;
|
||||
@ -811,7 +810,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
for (Permissible permissible : permissibles) {
|
||||
if (permissible instanceof CommandSender) {
|
||||
CommandSender user = (CommandSender)permissible;
|
||||
CommandSender user = (CommandSender) permissible;
|
||||
user.sendMessage(message);
|
||||
count++;
|
||||
}
|
||||
@ -854,7 +853,7 @@ public final class CraftServer implements Server {
|
||||
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
|
||||
|
||||
for (Object name : server.banByName) {
|
||||
result.add(getOfflinePlayer((String)name));
|
||||
result.add(getOfflinePlayer((String) name));
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -869,7 +868,7 @@ public final class CraftServer implements Server {
|
||||
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
|
||||
|
||||
for (Object name : server.getWhitelisted()) {
|
||||
result.add(getOfflinePlayer((String)name));
|
||||
result.add(getOfflinePlayer((String) name));
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -879,7 +878,7 @@ public final class CraftServer implements Server {
|
||||
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
|
||||
|
||||
for (Object name : server.operators) {
|
||||
result.add(getOfflinePlayer((String)name));
|
||||
result.add(getOfflinePlayer((String) name));
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -899,7 +898,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
for (World world : getWorlds()) {
|
||||
((CraftWorld)world).getHandle().worldData.setGameType(mode.getValue());
|
||||
((CraftWorld) world).getHandle().worldData.setGameType(mode.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
@ -910,16 +909,15 @@ public final class CraftServer implements Server {
|
||||
public void detectListNameConflict(EntityPlayer entityPlayer) {
|
||||
// Collisions will make for invisible people
|
||||
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!
|
||||
if (testEntityPlayer != entityPlayer && testEntityPlayer.listName.equals(entityPlayer.listName)) {
|
||||
String oldName = entityPlayer.listName;
|
||||
int spaceLeft = 16 - oldName.length();
|
||||
|
||||
if (spaceLeft <= 1) { // We also hit the list name length limit!
|
||||
entityPlayer.listName = oldName.subSequence(0, oldName.length() - 2 - spaceLeft)
|
||||
+ String.valueOf(System.currentTimeMillis() % 99);
|
||||
if (spaceLeft <= 1) { // We also hit the list name length limit!
|
||||
entityPlayer.listName = oldName.subSequence(0, oldName.length() - 2 - spaceLeft) + String.valueOf(System.currentTimeMillis() % 99);
|
||||
} else {
|
||||
entityPlayer.listName = oldName + String.valueOf(System.currentTimeMillis() % 99);
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ import org.bukkit.plugin.messaging.StandardMessenger;
|
||||
public class CraftWorld implements World {
|
||||
private final WorldServer world;
|
||||
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 final ChunkGenerator generator;
|
||||
private final List<BlockPopulator> populators = new ArrayList<BlockPopulator>();
|
||||
@ -78,7 +78,7 @@ public class CraftWorld implements World {
|
||||
}
|
||||
|
||||
public int getHighestBlockYAt(int x, int z) {
|
||||
if (!isChunkLoaded(x >> 4, z >> 4)){
|
||||
if (!isChunkLoaded(x >> 4, z >> 4)) {
|
||||
loadChunk(x >> 4, z >> 4);
|
||||
}
|
||||
|
||||
@ -221,7 +221,6 @@ public class CraftWorld implements World {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public boolean isChunkInUse(int x, int z) {
|
||||
Player[] players = server.getOnlinePlayers();
|
||||
|
||||
@ -334,7 +333,7 @@ public class CraftWorld implements World {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (LivingEntity)result;
|
||||
return (LivingEntity) result;
|
||||
}
|
||||
|
||||
public LightningStrike strikeLightning(Location loc) {
|
||||
@ -355,17 +354,17 @@ public class CraftWorld implements World {
|
||||
|
||||
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
|
||||
switch (type) {
|
||||
case BIG_TREE:
|
||||
return new WorldGenBigTree(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case BIRCH:
|
||||
return new WorldGenForest(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case REDWOOD:
|
||||
return new WorldGenTaiga2(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case TALL_REDWOOD:
|
||||
return new WorldGenTaiga1().generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ());
|
||||
case TREE:
|
||||
default:
|
||||
return new WorldGenTrees(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case BIG_TREE:
|
||||
return new WorldGenBigTree(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case BIRCH:
|
||||
return new WorldGenForest(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case REDWOOD:
|
||||
return new WorldGenTaiga2(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
case TALL_REDWOOD:
|
||||
return new WorldGenTaiga1().generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ());
|
||||
case TREE:
|
||||
default:
|
||||
return new WorldGenTrees(false).generate(delegate, rand, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -411,7 +410,7 @@ public class CraftWorld implements World {
|
||||
world.setTime(time);
|
||||
|
||||
// Forces the client to update to the new time immediately
|
||||
for (Player p: getPlayers()) {
|
||||
for (Player p : getPlayers()) {
|
||||
CraftPlayer cp = (CraftPlayer) p;
|
||||
cp.getHandle().netServerHandler.sendPacket(new Packet4UpdateTime(cp.getHandle().getPlayerTime()));
|
||||
}
|
||||
@ -493,7 +492,7 @@ public class CraftWorld implements World {
|
||||
public List<Entity> getEntities() {
|
||||
List<Entity> list = new ArrayList<Entity>();
|
||||
|
||||
for (Object o: world.entityList) {
|
||||
for (Object o : world.entityList) {
|
||||
if (o instanceof net.minecraft.server.Entity) {
|
||||
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
|
||||
Entity bukkitEntity = mcEnt.getBukkitEntity();
|
||||
@ -511,7 +510,7 @@ public class CraftWorld implements World {
|
||||
public List<LivingEntity> getLivingEntities() {
|
||||
List<LivingEntity> list = new ArrayList<LivingEntity>();
|
||||
|
||||
for (Object o: world.entityList) {
|
||||
for (Object o : world.entityList) {
|
||||
if (o instanceof net.minecraft.server.Entity) {
|
||||
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
|
||||
Entity bukkitEntity = mcEnt.getBukkitEntity();
|
||||
@ -790,20 +789,21 @@ public class CraftWorld implements World {
|
||||
face = BlockFace.SOUTH;
|
||||
}
|
||||
int dir;
|
||||
switch(face) {
|
||||
case EAST:
|
||||
default:
|
||||
dir = 0;
|
||||
break;
|
||||
case NORTH:
|
||||
dir = 1;
|
||||
break;
|
||||
case WEST:
|
||||
dir = 2;
|
||||
break;
|
||||
case SOUTH:
|
||||
dir = 3;;
|
||||
break;
|
||||
switch (face) {
|
||||
case EAST:
|
||||
default:
|
||||
dir = 0;
|
||||
break;
|
||||
case NORTH:
|
||||
dir = 1;
|
||||
break;
|
||||
case WEST:
|
||||
dir = 2;
|
||||
break;
|
||||
case SOUTH:
|
||||
dir = 3;
|
||||
;
|
||||
break;
|
||||
}
|
||||
entity = new EntityPainting(world, (int) x, (int) y, (int) z, dir);
|
||||
if (!((EntityPainting) entity).survives()) {
|
||||
@ -866,7 +866,7 @@ public class CraftWorld implements World {
|
||||
ChunkCoordinates chunkcoordinates = this.world.getSpawn();
|
||||
int chunkCoordX = chunkcoordinates.x >> 4;
|
||||
int chunkCoordZ = chunkcoordinates.z >> 4;
|
||||
// Cycle through the 25x25 Chunks around it to load/unload the chunks.
|
||||
// Cycle through the 25x25 Chunks around it to load/unload the chunks.
|
||||
for (int x = -12; x <= 12; x++) {
|
||||
for (int z = -12; z <= 12; z++) {
|
||||
if (keepLoaded) {
|
||||
@ -904,7 +904,7 @@ public class CraftWorld implements World {
|
||||
}
|
||||
|
||||
public File getWorldFolder() {
|
||||
return ((WorldNBTStorage)world.getDataManager()).getDirectory();
|
||||
return ((WorldNBTStorage) world.getDataManager()).getDirectory();
|
||||
}
|
||||
|
||||
public void explodeBlock(Block block, float yield) {
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
|
@ -94,7 +94,7 @@ public class Main {
|
||||
.describedAs("Yml file");
|
||||
|
||||
acceptsAll(asList("nojline"), "Disables jline and emulates the vanilla console");
|
||||
|
||||
|
||||
acceptsAll(asList("noconsole"), "Disables the console");
|
||||
|
||||
acceptsAll(asList("v", "version"), "Show the CraftBukkit Version");
|
||||
@ -126,7 +126,7 @@ public class Main {
|
||||
System.setProperty("user.language", "en");
|
||||
useJline = false;
|
||||
}
|
||||
|
||||
|
||||
if (options.has("noconsole")) {
|
||||
useConsole = false;
|
||||
}
|
||||
|
@ -137,7 +137,6 @@ public class PortalTravelAgent implements TravelAgent {
|
||||
public boolean createPortal(Location location) {
|
||||
net.minecraft.server.World world = ((CraftWorld) location.getWorld()).getHandle();
|
||||
|
||||
|
||||
if (location.getWorld().getEnvironment() == Environment.THE_END) {
|
||||
int i = MathHelper.floor(location.getBlockX());
|
||||
int j = MathHelper.floor(location.getBlockY()) - 1;
|
||||
@ -401,9 +400,6 @@ public class PortalTravelAgent implements TravelAgent {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public TravelAgent setSearchRadius(int radius) {
|
||||
this.searchRadius = radius;
|
||||
return this;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package org.bukkit.craftbukkit;
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
public class TrigMath {
|
||||
|
||||
|
@ -175,21 +175,21 @@ public class CraftBlock implements Block {
|
||||
}
|
||||
|
||||
public static int blockFaceToNotch(BlockFace face) {
|
||||
switch(face) {
|
||||
case DOWN:
|
||||
return 0;
|
||||
case UP:
|
||||
return 1;
|
||||
case EAST:
|
||||
return 2;
|
||||
case WEST:
|
||||
return 3;
|
||||
case NORTH:
|
||||
return 4;
|
||||
case SOUTH:
|
||||
return 5;
|
||||
default:
|
||||
return 7; // Good as anything here, but technically invalid
|
||||
switch (face) {
|
||||
case DOWN:
|
||||
return 0;
|
||||
case UP:
|
||||
return 1;
|
||||
case EAST:
|
||||
return 2;
|
||||
case WEST:
|
||||
return 3;
|
||||
case NORTH:
|
||||
return 4;
|
||||
case SOUTH:
|
||||
return 5;
|
||||
default:
|
||||
return 7; // Good as anything here, but technically invalid
|
||||
}
|
||||
}
|
||||
|
||||
@ -197,25 +197,25 @@ public class CraftBlock implements Block {
|
||||
Material material = getType();
|
||||
|
||||
switch (material) {
|
||||
case SIGN:
|
||||
case SIGN_POST:
|
||||
case WALL_SIGN:
|
||||
return new CraftSign(this);
|
||||
case CHEST:
|
||||
return new CraftChest(this);
|
||||
case BURNING_FURNACE:
|
||||
case FURNACE:
|
||||
return new CraftFurnace(this);
|
||||
case DISPENSER:
|
||||
return new CraftDispenser(this);
|
||||
case MOB_SPAWNER:
|
||||
return new CraftCreatureSpawner(this);
|
||||
case NOTE_BLOCK:
|
||||
return new CraftNoteBlock(this);
|
||||
case JUKEBOX:
|
||||
return new CraftJukebox(this);
|
||||
default:
|
||||
return new CraftBlockState(this);
|
||||
case SIGN:
|
||||
case SIGN_POST:
|
||||
case WALL_SIGN:
|
||||
return new CraftSign(this);
|
||||
case CHEST:
|
||||
return new CraftChest(this);
|
||||
case BURNING_FURNACE:
|
||||
case FURNACE:
|
||||
return new CraftFurnace(this);
|
||||
case DISPENSER:
|
||||
return new CraftDispenser(this);
|
||||
case MOB_SPAWNER:
|
||||
return new CraftCreatureSpawner(this);
|
||||
case NOTE_BLOCK:
|
||||
return new CraftNoteBlock(this);
|
||||
case JUKEBOX:
|
||||
return new CraftJukebox(this);
|
||||
default:
|
||||
return new CraftBlockState(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -245,27 +245,27 @@ public class CraftBlock implements Block {
|
||||
} else if (base == BiomeBase.OCEAN) {
|
||||
return Biome.OCEAN;
|
||||
} else if (base == BiomeBase.FROZEN_OCEAN) {
|
||||
return Biome.FROZEN_OCEAN;
|
||||
return Biome.FROZEN_OCEAN;
|
||||
} else if (base == BiomeBase.FROZEN_RIVER) {
|
||||
return Biome.FROZEN_RIVER;
|
||||
return Biome.FROZEN_RIVER;
|
||||
} else if (base == BiomeBase.ICE_PLAINS) {
|
||||
return Biome.ICE_PLAINS;
|
||||
return Biome.ICE_PLAINS;
|
||||
} else if (base == BiomeBase.ICE_MOUNTAINS) {
|
||||
return Biome.ICE_MOUNTAINS;
|
||||
return Biome.ICE_MOUNTAINS;
|
||||
} else if (base == BiomeBase.MUSHROOM_ISLAND) {
|
||||
return Biome.MUSHROOM_ISLAND;
|
||||
return Biome.MUSHROOM_ISLAND;
|
||||
} else if (base == BiomeBase.MUSHROOM_SHORE) {
|
||||
return Biome.MUSHROOM_SHORE;
|
||||
return Biome.MUSHROOM_SHORE;
|
||||
} else if (base == BiomeBase.BEACH) {
|
||||
return Biome.BEACH;
|
||||
return Biome.BEACH;
|
||||
} else if (base == BiomeBase.DESERT_HILLS) {
|
||||
return Biome.DESERT_HILLS;
|
||||
return Biome.DESERT_HILLS;
|
||||
} else if (base == BiomeBase.FOREST_HILLS) {
|
||||
return Biome.FOREST_HILLS;
|
||||
return Biome.FOREST_HILLS;
|
||||
} else if (base == BiomeBase.TAIGA_HILLS) {
|
||||
return Biome.TAIGA_HILLS;
|
||||
return Biome.TAIGA_HILLS;
|
||||
} else if (base == BiomeBase.SMALL_MOUNTAINS) {
|
||||
return Biome.SMALL_MOUNTAINS;
|
||||
return Biome.SMALL_MOUNTAINS;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -36,56 +36,26 @@ public class CraftBlockState implements BlockState {
|
||||
return new CraftBlockState(world.getWorld().getBlockAt(x, y, z));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the world which contains this Block
|
||||
*
|
||||
* @return World containing this block
|
||||
*/
|
||||
public World getWorld() {
|
||||
return world;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the x-coordinate of this block
|
||||
*
|
||||
* @return x-coordinate
|
||||
*/
|
||||
public int getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the y-coordinate of this block
|
||||
*
|
||||
* @return y-coordinate
|
||||
*/
|
||||
public int getY() {
|
||||
return y;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the z-coordinate of this block
|
||||
*
|
||||
* @return z-coordinate
|
||||
*/
|
||||
public int getZ() {
|
||||
return z;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chunk which contains this block
|
||||
*
|
||||
* @return Containing Chunk
|
||||
*/
|
||||
public Chunk getChunk() {
|
||||
return chunk;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the metadata for this block
|
||||
*
|
||||
* @param data New block specific metadata
|
||||
*/
|
||||
public void setData(final MaterialData data) {
|
||||
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() {
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the type of this block
|
||||
*
|
||||
* @param type Material to change this block to
|
||||
*/
|
||||
public void setType(final Material type) {
|
||||
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) {
|
||||
this.type = type;
|
||||
|
||||
@ -131,29 +86,14 @@ public class CraftBlockState implements BlockState {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type of this block
|
||||
*
|
||||
* @return block type
|
||||
*/
|
||||
public Material getType() {
|
||||
return Material.getMaterial(getTypeId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type-id of this block
|
||||
*
|
||||
* @return block type-id
|
||||
*/
|
||||
public int getTypeId() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the light level between 0-15
|
||||
*
|
||||
* @return light level
|
||||
*/
|
||||
public byte getLightLevel() {
|
||||
return light;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class CraftJukebox extends CraftBlockState implements Jukebox {
|
||||
|
||||
public boolean eject() {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ public class ServerCommandListener implements ICommandListener {
|
||||
public ServerCommandListener(CommandSender commandSender) {
|
||||
this.commandSender = commandSender;
|
||||
String[] parts = commandSender.getClass().getName().split("\\.");
|
||||
this.prefix = parts[parts.length-1];
|
||||
this.prefix = parts[parts.length - 1];
|
||||
}
|
||||
|
||||
public void sendMessage(String msg) {
|
||||
|
@ -27,26 +27,26 @@ public class CraftEnchantment extends Enchantment {
|
||||
@Override
|
||||
public EnchantmentTarget getItemTarget() {
|
||||
switch (target.slot) {
|
||||
case ALL:
|
||||
return EnchantmentTarget.ALL;
|
||||
case ARMOR:
|
||||
return EnchantmentTarget.ARMOR;
|
||||
case ARMOR_FEET:
|
||||
return EnchantmentTarget.ARMOR_FEET;
|
||||
case ARMOR_HEAD:
|
||||
return EnchantmentTarget.ARMOR_HEAD;
|
||||
case ARMOR_LEGS:
|
||||
return EnchantmentTarget.ARMOR_LEGS;
|
||||
case ARMOR_TORSO:
|
||||
return EnchantmentTarget.ARMOR_TORSO;
|
||||
case DIGGER:
|
||||
return EnchantmentTarget.TOOL;
|
||||
case WEAPON:
|
||||
return EnchantmentTarget.WEAPON;
|
||||
case BOW:
|
||||
return EnchantmentTarget.BOW;
|
||||
default:
|
||||
return null;
|
||||
case ALL:
|
||||
return EnchantmentTarget.ALL;
|
||||
case ARMOR:
|
||||
return EnchantmentTarget.ARMOR;
|
||||
case ARMOR_FEET:
|
||||
return EnchantmentTarget.ARMOR_FEET;
|
||||
case ARMOR_HEAD:
|
||||
return EnchantmentTarget.ARMOR_HEAD;
|
||||
case ARMOR_LEGS:
|
||||
return EnchantmentTarget.ARMOR_LEGS;
|
||||
case ARMOR_TORSO:
|
||||
return EnchantmentTarget.ARMOR_TORSO;
|
||||
case DIGGER:
|
||||
return EnchantmentTarget.TOOL;
|
||||
case WEAPON:
|
||||
return EnchantmentTarget.WEAPON;
|
||||
case BOW:
|
||||
return EnchantmentTarget.BOW;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,60 +58,60 @@ public class CraftEnchantment extends Enchantment {
|
||||
@Override
|
||||
public String getName() {
|
||||
switch (target.id) {
|
||||
case 0:
|
||||
return "PROTECTION_ENVIRONMENTAL";
|
||||
case 1:
|
||||
return "PROTECTION_FIRE";
|
||||
case 2:
|
||||
return "PROTECTION_FALL";
|
||||
case 3:
|
||||
return "PROTECTION_EXPLOSIONS";
|
||||
case 4:
|
||||
return "PROTECTION_PROJECTILE";
|
||||
case 5:
|
||||
return "OXYGEN";
|
||||
case 6:
|
||||
return "WATER_WORKER";
|
||||
case 16:
|
||||
return "DAMAGE_ALL";
|
||||
case 17:
|
||||
return "DAMAGE_UNDEAD";
|
||||
case 18:
|
||||
return "DAMAGE_ARTHROPODS";
|
||||
case 19:
|
||||
return "KNOCKBACK";
|
||||
case 20:
|
||||
return "FIRE_ASPECT";
|
||||
case 21:
|
||||
return "LOOT_BONUS_MOBS";
|
||||
case 32:
|
||||
return "DIG_SPEED";
|
||||
case 33:
|
||||
return "SILK_TOUCH";
|
||||
case 34:
|
||||
return "DURABILITY";
|
||||
case 35:
|
||||
return "LOOT_BONUS_BLOCKS";
|
||||
case 48:
|
||||
return "ARROW_DAMAGE";
|
||||
case 49:
|
||||
return "ARROW_KNOCKBACK";
|
||||
case 50:
|
||||
return "ARROW_FIRE";
|
||||
case 51:
|
||||
return "ARROW_INFINITE";
|
||||
default:
|
||||
return "UNKNOWN_ENCHANT_" + target.id;
|
||||
case 0:
|
||||
return "PROTECTION_ENVIRONMENTAL";
|
||||
case 1:
|
||||
return "PROTECTION_FIRE";
|
||||
case 2:
|
||||
return "PROTECTION_FALL";
|
||||
case 3:
|
||||
return "PROTECTION_EXPLOSIONS";
|
||||
case 4:
|
||||
return "PROTECTION_PROJECTILE";
|
||||
case 5:
|
||||
return "OXYGEN";
|
||||
case 6:
|
||||
return "WATER_WORKER";
|
||||
case 16:
|
||||
return "DAMAGE_ALL";
|
||||
case 17:
|
||||
return "DAMAGE_UNDEAD";
|
||||
case 18:
|
||||
return "DAMAGE_ARTHROPODS";
|
||||
case 19:
|
||||
return "KNOCKBACK";
|
||||
case 20:
|
||||
return "FIRE_ASPECT";
|
||||
case 21:
|
||||
return "LOOT_BONUS_MOBS";
|
||||
case 32:
|
||||
return "DIG_SPEED";
|
||||
case 33:
|
||||
return "SILK_TOUCH";
|
||||
case 34:
|
||||
return "DURABILITY";
|
||||
case 35:
|
||||
return "LOOT_BONUS_BLOCKS";
|
||||
case 48:
|
||||
return "ARROW_DAMAGE";
|
||||
case 49:
|
||||
return "ARROW_KNOCKBACK";
|
||||
case 50:
|
||||
return "ARROW_FIRE";
|
||||
case 51:
|
||||
return "ARROW_INFINITE";
|
||||
default:
|
||||
return "UNKNOWN_ENCHANT_" + target.id;
|
||||
}
|
||||
}
|
||||
|
||||
public static net.minecraft.server.Enchantment getRaw(Enchantment enchantment) {
|
||||
if (enchantment instanceof EnchantmentWrapper) {
|
||||
enchantment = ((EnchantmentWrapper)enchantment).getEnchantment();
|
||||
enchantment = ((EnchantmentWrapper) enchantment).getEnchantment();
|
||||
}
|
||||
|
||||
if (enchantment instanceof CraftEnchantment) {
|
||||
return ((CraftEnchantment)enchantment).target;
|
||||
return ((CraftEnchantment) enchantment).target;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -30,7 +30,7 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityArrow getHandle(){
|
||||
public EntityArrow getHandle() {
|
||||
return (EntityArrow) entity;
|
||||
}
|
||||
|
||||
|
@ -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<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());
|
||||
}
|
||||
return bukkitEntityList;
|
||||
@ -269,7 +269,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
CraftPlayer result = players.get(entity.name);
|
||||
|
||||
if (result == null) {
|
||||
result = new CraftPlayer((CraftServer)Bukkit.getServer(), entity);
|
||||
result = new CraftPlayer((CraftServer) Bukkit.getServer(), entity);
|
||||
players.put(entity.name, result);
|
||||
} else {
|
||||
result.setHandle(entity);
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityExperienceOrb;
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import java.util.Set;
|
||||
|
@ -47,7 +47,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
getHandle().setHealth(health);
|
||||
}
|
||||
|
||||
|
||||
public int getMaxHealth() {
|
||||
return getHandle().getMaxHealth();
|
||||
}
|
||||
@ -173,9 +173,9 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
DamageSource reason = DamageSource.GENERIC;
|
||||
|
||||
if (source instanceof HumanEntity) {
|
||||
reason = DamageSource.playerAttack(((CraftHumanEntity)source).getHandle());
|
||||
reason = DamageSource.playerAttack(((CraftHumanEntity) source).getHandle());
|
||||
} else if (source instanceof LivingEntity) {
|
||||
reason = DamageSource.mobAttack(((CraftLivingEntity)source).getHandle());
|
||||
reason = DamageSource.mobAttack(((CraftLivingEntity) source).getHandle());
|
||||
}
|
||||
|
||||
entity.damageEntity(reason, amount);
|
||||
@ -226,6 +226,6 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
|
||||
public Player getKiller() {
|
||||
return getHandle().killer == null ? null : (Player)getHandle().killer.getBukkitEntity();
|
||||
return getHandle().killer == null ? null : (Player) getHandle().killer.getBukkitEntity();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
|
||||
import net.minecraft.server.EntityMagmaCube;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.MagmaCube;
|
||||
|
@ -102,7 +102,7 @@ public class CraftPainting extends CraftEntity implements Painting {
|
||||
}
|
||||
|
||||
private void update() {
|
||||
WorldServer world = ((CraftWorld)getWorld()).getHandle();
|
||||
WorldServer world = ((CraftWorld) getWorld()).getHandle();
|
||||
EntityPainting painting = new EntityPainting(world);
|
||||
painting.x = getHandle().x;
|
||||
painting.y = getHandle().y;
|
||||
|
@ -76,7 +76,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
for (Object obj: server.getHandle().players) {
|
||||
for (Object obj : server.getHandle().players) {
|
||||
EntityPlayer player = (EntityPlayer) obj;
|
||||
if (player.name.equalsIgnoreCase(getName())) {
|
||||
return true;
|
||||
@ -173,7 +173,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (!(obj instanceof OfflinePlayer)) {
|
||||
return false;
|
||||
}
|
||||
OfflinePlayer other = (OfflinePlayer)obj;
|
||||
OfflinePlayer other = (OfflinePlayer) obj;
|
||||
if ((this.getName() == null) || (other.getName() == null)) {
|
||||
return false;
|
||||
}
|
||||
@ -485,7 +485,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public int getExperience() {
|
||||
return (int)(getExp() * 100);
|
||||
return (int) (getExp() * 100);
|
||||
}
|
||||
|
||||
public void setExperience(int exp) {
|
||||
@ -493,7 +493,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return (int)getHandle().expLevel;
|
||||
return (int) getHandle().expLevel;
|
||||
}
|
||||
|
||||
public void setLevel(int level) {
|
||||
@ -655,7 +655,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
for (String channel : listening) {
|
||||
try {
|
||||
stream.write(channel.getBytes("UTF8"));
|
||||
stream.write((byte)0);
|
||||
stream.write((byte) 0);
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(CraftPlayer.class.getName()).log(Level.SEVERE, "Could not send Plugin Channel REGISTER to " + getName(), ex);
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
|
||||
|
||||
public LivingEntity getShooter() {
|
||||
if (getHandle().shooter instanceof EntityLiving) {
|
||||
return (LivingEntity)getHandle().shooter.getBukkitEntity();
|
||||
return (LivingEntity) getHandle().shooter.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -21,7 +21,7 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
|
||||
|
||||
public void setShooter(LivingEntity shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
getHandle().shooter = (EntityLiving)((CraftLivingEntity)shooter).entity;
|
||||
getHandle().shooter = (EntityLiving) ((CraftLivingEntity) shooter).entity;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityWeather;
|
||||
|
@ -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
|
||||
* 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.
|
||||
*/
|
||||
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)
|
||||
* 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.
|
||||
*/
|
||||
private void setPath(PathEntity pathentity) {
|
||||
@ -99,12 +101,10 @@ public class CraftWolf extends CraftAnimals implements Wolf {
|
||||
private void playTamingAnimation(boolean successful){
|
||||
getHandle().a(successful);
|
||||
}
|
||||
*/
|
||||
*/
|
||||
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -147,6 +147,7 @@ public class CraftEventFactory {
|
||||
}
|
||||
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) {
|
||||
Player player = (who == null) ? null : (Player) who.getBukkitEntity();
|
||||
CraftItemStack itemInHand = new CraftItemStack(itemstack);
|
||||
@ -160,12 +161,12 @@ public class CraftEventFactory {
|
||||
if (clickedY == 255) {
|
||||
blockClicked = null;
|
||||
switch (action) {
|
||||
case LEFT_CLICK_BLOCK:
|
||||
action = Action.LEFT_CLICK_AIR;
|
||||
break;
|
||||
case RIGHT_CLICK_BLOCK:
|
||||
action = Action.RIGHT_CLICK_AIR;
|
||||
break;
|
||||
case LEFT_CLICK_BLOCK:
|
||||
action = Action.LEFT_CLICK_AIR;
|
||||
break;
|
||||
case RIGHT_CLICK_BLOCK:
|
||||
action = Action.RIGHT_CLICK_AIR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -317,7 +318,7 @@ public class CraftEventFactory {
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -325,7 +326,7 @@ public class CraftEventFactory {
|
||||
}
|
||||
|
||||
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);
|
||||
org.bukkit.World world = entity.getWorld();
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
@ -337,7 +338,7 @@ public class CraftEventFactory {
|
||||
victim.expToDrop = event.getDroppedExp();
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit.generator;
|
||||
|
||||
import net.minecraft.server.IChunkProvider;
|
||||
|
@ -63,7 +63,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
|
||||
}
|
||||
|
||||
public boolean contains(int materialId) {
|
||||
for (ItemStack item: getContents()) {
|
||||
for (ItemStack item : getContents()) {
|
||||
if (item != null && item.getTypeId() == materialId) {
|
||||
return true;
|
||||
}
|
||||
@ -79,7 +79,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
|
||||
if (item == null) {
|
||||
return false;
|
||||
}
|
||||
for (ItemStack i: getContents()) {
|
||||
for (ItemStack i : getContents()) {
|
||||
if (item.equals(i)) {
|
||||
return true;
|
||||
}
|
||||
@ -89,7 +89,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
|
||||
|
||||
public boolean contains(int materialId, int amount) {
|
||||
int amt = 0;
|
||||
for (ItemStack item: getContents()) {
|
||||
for (ItemStack item : getContents()) {
|
||||
if (item != null && item.getTypeId() == materialId) {
|
||||
amt += item.getAmount();
|
||||
}
|
||||
@ -106,7 +106,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory {
|
||||
return false;
|
||||
}
|
||||
int amt = 0;
|
||||
for (ItemStack i: getContents()) {
|
||||
for (ItemStack i : getContents()) {
|
||||
if (item.equals(i)) {
|
||||
amt += item.getAmount();
|
||||
}
|
||||
|
@ -175,10 +175,10 @@ public class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
short id = ((NBTTagCompound)list.get(i)).getShort("id");
|
||||
short level = ((NBTTagCompound)list.get(i)).getShort("lvl");
|
||||
short id = ((NBTTagCompound) list.get(i)).getShort("id");
|
||||
short level = ((NBTTagCompound) list.get(i)).getShort("lvl");
|
||||
|
||||
result.put(Enchantment.getById(id), (int)level);
|
||||
result.put(Enchantment.getById(id), (int) level);
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -197,8 +197,8 @@ public class CraftItemStack extends ItemStack {
|
||||
for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
|
||||
NBTTagCompound subtag = new NBTTagCompound();
|
||||
|
||||
subtag.setShort("id", (short)entry.getKey().getId());
|
||||
subtag.setShort("lvl", (short)(int)entry.getValue());
|
||||
subtag.setShort("id", (short) entry.getKey().getId());
|
||||
subtag.setShort("lvl", (short) (int) entry.getValue());
|
||||
|
||||
list.add(subtag);
|
||||
}
|
||||
|
@ -9,12 +9,12 @@ import org.bukkit.map.MapFont.CharacterSprite;
|
||||
import org.bukkit.map.MapPalette;
|
||||
|
||||
public class CraftMapCanvas implements MapCanvas {
|
||||
|
||||
|
||||
private final byte[] buffer = new byte[128 * 128];
|
||||
private final CraftMapView mapView;
|
||||
private byte[] base;
|
||||
private MapCursorCollection cursors = new MapCursorCollection();
|
||||
|
||||
|
||||
protected CraftMapCanvas(CraftMapView mapView) {
|
||||
this.mapView = mapView;
|
||||
Arrays.fill(buffer, (byte) -1);
|
||||
@ -33,7 +33,8 @@ public class CraftMapCanvas implements MapCanvas {
|
||||
}
|
||||
|
||||
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) {
|
||||
buffer[y * 128 + x] = color;
|
||||
mapView.worldMap.flagDirty(x, y, y);
|
||||
@ -41,19 +42,21 @@ public class CraftMapCanvas implements MapCanvas {
|
||||
}
|
||||
|
||||
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];
|
||||
}
|
||||
|
||||
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];
|
||||
}
|
||||
|
||||
|
||||
protected void setBase(byte[] base) {
|
||||
this.base = base;
|
||||
}
|
||||
|
||||
|
||||
protected byte[] getBuffer() {
|
||||
return buffer;
|
||||
}
|
||||
@ -73,7 +76,7 @@ public class CraftMapCanvas implements MapCanvas {
|
||||
if (!font.isValid(text)) {
|
||||
throw new IllegalArgumentException("text contains invalid characters");
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < text.length(); ++i) {
|
||||
char ch = text.charAt(i);
|
||||
if (ch == '\n') {
|
||||
@ -91,7 +94,7 @@ public class CraftMapCanvas implements MapCanvas {
|
||||
catch (NumberFormatException ex) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CharacterSprite sprite = font.getChar(text.charAt(i));
|
||||
for (int r = 0; r < font.getHeight(); ++r) {
|
||||
for (int c = 0; c < sprite.getWidth(); ++c) {
|
||||
@ -103,5 +106,5 @@ public class CraftMapCanvas implements MapCanvas {
|
||||
x += sprite.getWidth() + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import org.bukkit.map.MapView;
|
||||
import org.bukkit.map.MapCursorCollection;
|
||||
|
||||
public class CraftMapRenderer extends MapRenderer {
|
||||
|
||||
|
||||
private final CraftMapView mapView;
|
||||
private final WorldMap worldMap;
|
||||
|
||||
@ -28,7 +28,7 @@ public class CraftMapRenderer extends MapRenderer {
|
||||
canvas.setPixel(x, y, worldMap.colors[y * 128 + x]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Cursors
|
||||
MapCursorCollection cursors = canvas.getCursors();
|
||||
while (cursors.size() > 0) {
|
||||
@ -36,8 +36,8 @@ public class CraftMapRenderer extends MapRenderer {
|
||||
}
|
||||
for (int i = 0; i < worldMap.decorations.size(); ++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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -16,12 +16,12 @@ import org.bukkit.map.MapRenderer;
|
||||
import org.bukkit.map.MapView;
|
||||
|
||||
public final class CraftMapView implements MapView {
|
||||
|
||||
|
||||
private final Map<CraftPlayer, RenderData> renderCache = new HashMap<CraftPlayer, RenderData>();
|
||||
private final List<MapRenderer> renderers = new ArrayList<MapRenderer>();
|
||||
private final Map<MapRenderer, Map<CraftPlayer, CraftMapCanvas>> canvases = new HashMap<MapRenderer, Map<CraftPlayer, CraftMapCanvas>>();
|
||||
protected final WorldMap worldMap;
|
||||
|
||||
|
||||
public CraftMapView(WorldMap worldMap) {
|
||||
this.worldMap = worldMap;
|
||||
addRenderer(new CraftMapRenderer(this, worldMap));
|
||||
@ -52,7 +52,7 @@ public final class CraftMapView implements MapView {
|
||||
public void setScale(Scale scale) {
|
||||
worldMap.scale = scale.getValue();
|
||||
}
|
||||
|
||||
|
||||
public World getWorld() {
|
||||
byte dimension = worldMap.map;
|
||||
for (World world : Bukkit.getServer().getWorlds()) {
|
||||
@ -111,51 +111,51 @@ public final class CraftMapView implements MapView {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private boolean isContextual() {
|
||||
for (MapRenderer renderer : renderers) {
|
||||
if (renderer.isContextual()) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public RenderData render(CraftPlayer player) {
|
||||
boolean context = isContextual();
|
||||
RenderData render = renderCache.get(context ? player : null);
|
||||
|
||||
|
||||
if (render == null) {
|
||||
render = new RenderData();
|
||||
renderCache.put(context ? player : null, render);
|
||||
}
|
||||
|
||||
|
||||
if (context && renderCache.containsKey(null)) {
|
||||
renderCache.remove(null);
|
||||
}
|
||||
|
||||
|
||||
Arrays.fill(render.buffer, (byte) 0);
|
||||
render.cursors.clear();
|
||||
|
||||
|
||||
for (MapRenderer renderer : renderers) {
|
||||
CraftMapCanvas canvas = canvases.get(renderer).get(renderer.isContextual() ? player : null);
|
||||
if (canvas == null) {
|
||||
canvas = new CraftMapCanvas(this);
|
||||
canvases.get(renderer).put(renderer.isContextual() ? player : null, canvas);
|
||||
}
|
||||
|
||||
|
||||
canvas.setBase(render.buffer);
|
||||
renderer.render(this, canvas, player);
|
||||
|
||||
|
||||
byte[] buf = canvas.getBuffer();
|
||||
for (int i = 0; i < buf.length; ++i) {
|
||||
if (buf[i] >= 0) render.buffer[i] = buf[i];
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < canvas.getCursors().size(); ++i) {
|
||||
render.cursors.add(canvas.getCursors().getCursor(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return render;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -4,13 +4,13 @@ import java.util.ArrayList;
|
||||
import org.bukkit.map.MapCursor;
|
||||
|
||||
public class RenderData {
|
||||
|
||||
|
||||
public final byte[] buffer;
|
||||
public final ArrayList<MapCursor> cursors;
|
||||
|
||||
|
||||
public RenderData() {
|
||||
this.buffer = new byte[128 * 128];
|
||||
this.cursors = new ArrayList<MapCursor>();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit.craftbukkit.util;
|
||||
|
||||
public class EntryBase {
|
||||
public class EntryBase {
|
||||
protected long key;
|
||||
|
||||
public EntryBase(long key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ public class LongBaseHashtable extends LongHash {
|
||||
if (inner[i].key == key) {
|
||||
for (i++; i < inner.length; i++) {
|
||||
if (inner[i] == null) break;
|
||||
inner[i-1] = inner[i];
|
||||
inner[i - 1] = inner[i];
|
||||
}
|
||||
|
||||
inner[i-1] = null;
|
||||
@ -97,13 +97,13 @@ public class LongBaseHashtable extends LongHash {
|
||||
public synchronized ArrayList<EntryBase> entries() {
|
||||
ArrayList<EntryBase> ret = new ArrayList<EntryBase>();
|
||||
|
||||
for (EntryBase[][] outer: this.values) {
|
||||
for (EntryBase[][] outer : this.values) {
|
||||
if (outer == null) continue;
|
||||
|
||||
for (EntryBase[] inner: outer) {
|
||||
for (EntryBase[] inner : outer) {
|
||||
if (inner == null) continue;
|
||||
|
||||
for (EntryBase entry: inner) {
|
||||
for (EntryBase entry : inner) {
|
||||
if (entry == null) break;
|
||||
|
||||
ret.add(entry);
|
||||
|
@ -71,7 +71,7 @@ public class LongHashset extends LongHash {
|
||||
long[] inner = outer[(int) ((key >> 32) & 255)];
|
||||
if (inner == null) return false;
|
||||
|
||||
for (long entry: inner) {
|
||||
for (long entry : inner) {
|
||||
if (entry == key) return true;
|
||||
}
|
||||
return false;
|
||||
@ -134,7 +134,7 @@ public class LongHashset extends LongHash {
|
||||
rl.lock();
|
||||
try {
|
||||
long[] ret = new long[this.count];
|
||||
for (long[][] outer: this.values) {
|
||||
for (long[][] outer : this.values) {
|
||||
if (outer == null) continue;
|
||||
|
||||
for (int oIdx = outer.length - 1; oIdx >= 0; oIdx--) {
|
||||
@ -159,13 +159,13 @@ public class LongHashset extends LongHash {
|
||||
rl.lock();
|
||||
try {
|
||||
long[] ret = new long[this.count];
|
||||
for (long[][] outer: this.values) {
|
||||
for (long[][] outer : this.values) {
|
||||
if (outer == null) continue;
|
||||
|
||||
for (long[] inner: outer) {
|
||||
for (long[] inner : outer) {
|
||||
if (inner == null) continue;
|
||||
|
||||
for (long entry: inner) {
|
||||
for (long entry : inner) {
|
||||
ret[index++] = entry;
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class LongHashtable<V> extends LongBaseHashtable {
|
||||
|
||||
ArrayList<EntryBase> entries = entries();
|
||||
|
||||
for(EntryBase entry : entries) {
|
||||
for (EntryBase entry : entries) {
|
||||
ret.add(((Entry) entry).value);
|
||||
}
|
||||
return ret;
|
||||
@ -36,6 +36,7 @@ public class LongHashtable<V> extends LongBaseHashtable {
|
||||
|
||||
private class Entry extends EntryBase {
|
||||
V value;
|
||||
|
||||
Entry(long k, V v) {
|
||||
super(k);
|
||||
this.value = v;
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package org.bukkit.craftbukkit.util;
|
||||
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
|
@ -10,20 +10,20 @@ import org.bukkit.Bukkit;
|
||||
public final class Versioning {
|
||||
public static String getBukkitVersion() {
|
||||
String result = "Unknown-Version";
|
||||
|
||||
|
||||
InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.bukkit/bukkit/pom.properties");
|
||||
Properties properties = new Properties();
|
||||
|
||||
|
||||
if (stream != null) {
|
||||
try {
|
||||
properties.load(stream);
|
||||
|
||||
|
||||
result = properties.getProperty("version");
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get Bukkit version!", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren