1
0
forked from xjboss/KCauldronX

Initial commit (Forge 1291).

This commit is contained in:
gamerforEA
2015-03-22 20:38:04 +03:00
commit 16773ead6a
611 changed files with 64826 additions and 0 deletions

View File

@ -0,0 +1,51 @@
package net.minecraft.entity;
import io.netty.buffer.ByteBuf;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.command.server.CommandBlockLogic;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.IChatComponent;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
// CraftBukkit - package-private -> public
public class EntityMinecartCommandBlockListener extends CommandBlockLogic
{
final EntityMinecartCommandBlock field_145768_a;
EntityMinecartCommandBlockListener(EntityMinecartCommandBlock p_i45320_1_)
{
this.field_145768_a = p_i45320_1_;
this.sender = (org.bukkit.craftbukkit.entity.CraftMinecartCommand) p_i45320_1_.getBukkitEntity(); // CraftBukkit - Set the sender
}
public void func_145756_e()
{
this.field_145768_a.getDataWatcher().updateObject(23, this.func_145753_i());
this.field_145768_a.getDataWatcher().updateObject(24, IChatComponent.Serializer.func_150696_a(this.func_145749_h()));
}
/**
* Return the position for this command sender.
*/
public ChunkCoordinates getPlayerCoordinates()
{
return new ChunkCoordinates(MathHelper.floor_double(this.field_145768_a.posX), MathHelper.floor_double(this.field_145768_a.posY + 0.5D), MathHelper.floor_double(this.field_145768_a.posZ));
}
public World getEntityWorld()
{
return this.field_145768_a.worldObj;
}
@SideOnly(Side.CLIENT)
public int func_145751_f()
{
return 1;
}
@SideOnly(Side.CLIENT)
public void func_145757_a(ByteBuf p_145757_1_)
{
p_145757_1_.writeInt(field_145768_a.getEntityId());
}
}

View File

@ -0,0 +1,75 @@
package net.minecraft.inventory;
// CraftBukkit start
import java.util.List;
import org.bukkit.craftbukkit.entity.CraftHumanEntity;
import org.bukkit.entity.HumanEntity;
import net.minecraft.item.ItemStack;
// CraftBukkit end
public class ContainerEnchantTableInventory extends InventoryBasic // CraftBukkit -> public
{
/** The brewing stand this slot belongs to. */
final ContainerEnchantment container;
// CraftBukkit start
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
public org.bukkit.entity.Player player;
private int maxStack = MAX_STACK;
public ItemStack[] getContents()
{
return this.inventoryContents;
}
public void onOpen(CraftHumanEntity who)
{
transaction.add(who);
}
public void onClose(CraftHumanEntity who)
{
transaction.remove(who);
}
public List<HumanEntity> getViewers()
{
return transaction;
}
public org.bukkit.inventory.InventoryHolder getOwner()
{
return this.player;
}
public void setMaxStackSize(int size)
{
maxStack = size;
}
// CraftBukkit end
ContainerEnchantTableInventory(ContainerEnchantment par1ContainerEnchantment, String par2Str, boolean par3, int par4)
{
super(par2Str, par3, par4);
this.container = par1ContainerEnchantment;
this.setMaxStackSize(1); // CraftBukkit
}
/**
* Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
* this more of a set than a get?*
*/
public int getInventoryStackLimit()
{
return maxStack; // CraftBukkit
}
/**
* Called when an the contents of an Inventory change, usually
*/
public void markDirty()
{
super.markDirty();
this.container.onCraftMatrixChanged((IInventory) this);
}
}

View File

@ -0,0 +1,65 @@
package net.minecraft.inventory;
// CraftBukkit start
import java.util.List;
import org.bukkit.craftbukkit.entity.CraftHumanEntity;
import org.bukkit.entity.HumanEntity;
import net.minecraft.item.ItemStack;
// CraftBukkit end
public class ContainerRepairInventory extends InventoryBasic // CraftBukkit - public
{
final ContainerRepair repairContainer;
// CraftBukkit start
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
public org.bukkit.entity.Player player;
private int maxStack = MAX_STACK;
public ItemStack[] getContents()
{
return this.inventoryContents;
}
public void onOpen(CraftHumanEntity who)
{
transaction.add(who);
}
public void onClose(CraftHumanEntity who)
{
transaction.remove(who);
}
public List<HumanEntity> getViewers()
{
return transaction;
}
public org.bukkit.inventory.InventoryHolder getOwner()
{
return this.player;
}
public void setMaxStackSize(int size)
{
maxStack = size;
}
// CraftBukkit end
ContainerRepairInventory(ContainerRepair par1ContainerRepair, String par2Str, boolean par3, int par4)
{
super(par2Str, par3, par4);
this.repairContainer = par1ContainerRepair;
this.setMaxStackSize(1); // CraftBukkit
}
/**
* Called when an the contents of an Inventory change, usually
*/
public void markDirty()
{
super.markDirty();
this.repairContainer.onCraftMatrixChanged((IInventory) this);
}
}

View File

@ -0,0 +1,142 @@
package net.minecraft.server.network;
import java.math.BigInteger;
import java.util.UUID;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.network.NetHandlerLoginServer.LoginState;
import net.minecraft.util.CryptManager;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.exceptions.AuthenticationUnavailableException;
// CraftBukkit start
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.event.player.PlayerPreLoginEvent;
// CraftBukkit end
class ThreadPlayerLookupUUID extends Thread
{
final NetHandlerLoginServer field_151292_a;
private MinecraftServer mcServer; // Cauldron
ThreadPlayerLookupUUID(NetHandlerLoginServer p_i45296_1_, String p_i45296_2_)
{
super(p_i45296_2_);
this.field_151292_a = p_i45296_1_;
this.mcServer = NetHandlerLoginServer.getMinecraftServer(this.field_151292_a); // Cauldron
}
public void run()
{
GameProfile gameprofile = NetHandlerLoginServer.getGameProfile(this.field_151292_a);
try
{
// Spigot Start
if (!this.mcServer.isServerInOnlineMode())
{
this.field_151292_a.initUUID();
fireLoginEvents();
return;
}
// Spigot End
String s = (new BigInteger(CryptManager.getServerIdHash(NetHandlerLoginServer.getLoginServerId(this.field_151292_a), this.mcServer.getKeyPair().getPublic(), NetHandlerLoginServer.getSecretKey(this.field_151292_a)))).toString(16);
NetHandlerLoginServer.processPlayerLoginGameProfile(this.field_151292_a, this.mcServer.func_147130_as().hasJoinedServer(new GameProfile((UUID)null, gameprofile.getName()), s));
if (NetHandlerLoginServer.getGameProfile(this.field_151292_a) != null)
{
fireLoginEvents(); // Spigot
}
else if (this.mcServer.isSinglePlayer())
{
NetHandlerLoginServer.getLogger().warn("Failed to verify username but will let them in anyway!");
NetHandlerLoginServer.processPlayerLoginGameProfile(this.field_151292_a, this.field_151292_a.func_152506_a(gameprofile));
NetHandlerLoginServer.setLoginState(this.field_151292_a, LoginState.READY_TO_ACCEPT);
}
else
{
this.field_151292_a.func_147322_a("Failed to verify username!");
NetHandlerLoginServer.getLogger().error("Username \'" + NetHandlerLoginServer.getGameProfile(this.field_151292_a).getName() + "\' tried to join with an invalid session");
}
}
catch (AuthenticationUnavailableException authenticationunavailableexception)
{
if (this.mcServer.isSinglePlayer())
{
NetHandlerLoginServer.getLogger().warn("Authentication servers are down but will let them in anyway!");
NetHandlerLoginServer.processPlayerLoginGameProfile(this.field_151292_a, this.field_151292_a.func_152506_a(gameprofile));
NetHandlerLoginServer.setLoginState(this.field_151292_a, LoginState.READY_TO_ACCEPT);
}
else
{
this.field_151292_a.func_147322_a("Authentication servers are down. Please try again later, sorry!");
NetHandlerLoginServer.getLogger().error("Couldn\'t verify username because servers are unavailable");
}
// CraftBukkit start - catch all exceptions
}
catch (Exception exception)
{
this.field_151292_a.func_147322_a("Failed to verify username!");
this.mcServer.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + NetHandlerLoginServer.getGameProfile(this.field_151292_a).getName(), exception);
// CraftBukkit end
}
}
private void fireLoginEvents() throws Exception
{
// CraftBukkit start - fire PlayerPreLoginEvent
if (!this.field_151292_a.field_147333_a.isChannelOpen())
{
return;
}
String playerName = NetHandlerLoginServer.getGameProfile(this.field_151292_a).getName();
java.net.InetAddress address = ((java.net.InetSocketAddress) this.field_151292_a.field_147333_a.getSocketAddress()).getAddress();
java.util.UUID uniqueId = NetHandlerLoginServer.getGameProfile(this.field_151292_a).getId();
final org.bukkit.craftbukkit.CraftServer server = this.mcServer.server;
AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId);
server.getPluginManager().callEvent(asyncEvent);
if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0)
{
final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId);
if (asyncEvent.getResult() != PlayerPreLoginEvent.Result.ALLOWED)
{
event.disallow(asyncEvent.getResult(), asyncEvent.getKickMessage());
}
Waitable<PlayerPreLoginEvent.Result> waitable = new Waitable<PlayerPreLoginEvent.Result>()
{
@Override
protected PlayerPreLoginEvent.Result evaluate()
{
server.getPluginManager().callEvent(event);
return event.getResult();
}
};
NetHandlerLoginServer.getMinecraftServer(this.field_151292_a).processQueue.add(waitable);
if (waitable.get() != PlayerPreLoginEvent.Result.ALLOWED)
{
this.field_151292_a.func_147322_a(event.getKickMessage());
return;
}
}
else
{
if (asyncEvent.getLoginResult() != AsyncPlayerPreLoginEvent.Result.ALLOWED)
{
this.field_151292_a.func_147322_a(asyncEvent.getKickMessage());
return;
}
}
// CraftBukkit end
NetHandlerLoginServer.getLogger().info("UUID of player " + NetHandlerLoginServer.getGameProfile(this.field_151292_a).getName() + " is " + NetHandlerLoginServer.getGameProfile(this.field_151292_a).getId());;
NetHandlerLoginServer.setLoginState(this.field_151292_a, LoginState.READY_TO_ACCEPT);
}
}

View File

@ -0,0 +1,56 @@
package net.minecraft.tileentity;
import io.netty.buffer.ByteBuf;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.command.server.CommandBlockLogic;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
// CraftBukkit - package-private -> public
public class TileEntityCommandBlockListener extends CommandBlockLogic
{
final TileEntityCommandBlock field_145767_a;
TileEntityCommandBlockListener(TileEntityCommandBlock p_i45441_1_)
{
this.field_145767_a = p_i45441_1_;
sender = new org.bukkit.craftbukkit.command.CraftBlockCommandSender(this); // CraftBukkit - add sender
}
/**
* Return the position for this command sender.
*/
public ChunkCoordinates getPlayerCoordinates()
{
return new ChunkCoordinates(this.field_145767_a.xCoord, this.field_145767_a.yCoord, this.field_145767_a.zCoord);
}
public World getEntityWorld()
{
return this.field_145767_a.getWorldObj();
}
public void func_145752_a(String p_145752_1_)
{
super.func_145752_a(p_145752_1_);
this.field_145767_a.markDirty();
}
public void func_145756_e()
{
this.field_145767_a.getWorldObj().markBlockForUpdate(this.field_145767_a.xCoord, this.field_145767_a.yCoord, this.field_145767_a.zCoord);
}
@SideOnly(Side.CLIENT)
public int func_145751_f()
{
return 0;
}
@SideOnly(Side.CLIENT)
public void func_145757_a(ByteBuf p_145757_1_)
{
p_145757_1_.writeInt(field_145767_a.xCoord);
p_145757_1_.writeInt(field_145767_a.yCoord);
p_145757_1_.writeInt(field_145767_a.zCoord);
}
}