1
0
Fork 0

Pass net handler during reverse cloning due to some mods could transmit some packets in cloning

kcx-1614
Sergey Shatunov 2016-02-06 23:20:23 +07:00
parent d09dc71f62
commit db3a8c3045
1 changed files with 3 additions and 2 deletions

View File

@ -1,7 +1,6 @@
package kcauldron;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ContainerPlayer;
import net.minecraft.server.management.ItemInWorldManager;
import net.minecraft.world.WorldServer;
@ -10,11 +9,13 @@ import net.minecraftforge.event.entity.player.PlayerEvent;
public enum ReverseClonner {
;
public static EntityPlayerMP clone(EntityPlayerMP player, boolean wasDeath) {
EntityPlayerMP shadowCopy = new EntityPlayerMP(player.mcServer, (WorldServer) player.worldObj,
player.getGameProfile(), new ItemInWorldManager(player.worldObj));
shadowCopy.playerNetServerHandler = player.playerNetServerHandler;
shadowCopy.clonePlayer(player, true);
if (wasDeath && !player.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory")) {
if (wasDeath && !player.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory")) {
player.inventory.clearInventory(null, -1);
player.inventoryContainer = new ContainerPlayer(player.inventory, !player.worldObj.isRemote, player);
}