private static PlayerInteractEvent copy(PlayerInteractEvent event){
PlayerInteractEvent copy = null;
if(event instanceof PlayerInteractEvent.RightClickEmpty)
copy = new PlayerInteractEvent.RightClickEmpty(event.getEntityPlayer(), event.getHand());
else if(event instanceof PlayerInteractEvent.LeftClickBlock) {
copy = new PlayerInteractEvent.LeftClickBlock(event.getEntityPlayer(), event.getPos(), event.getFace(), ((PlayerInteractEvent.LeftClickBlock) event).getHitVec());
((PlayerInteractEvent.LeftClickBlock)copy).setUseItem(((PlayerInteractEvent.LeftClickBlock) event).getUseItem());
((PlayerInteractEvent.LeftClickBlock)copy).setUseBlock(((PlayerInteractEvent.LeftClickBlock) event).getUseBlock());
}
else if(event instanceof PlayerInteractEvent.EntityInteractSpecific)
copy = new PlayerInteractEvent.EntityInteractSpecific(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteractSpecific) event).getTarget(), ((PlayerInteractEvent.EntityInteractSpecific) event).getLocalPos());
else if(event instanceof PlayerInteractEvent.EntityInteract)
copy = new PlayerInteractEvent.EntityInteract(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteract) event).getTarget());
else if(event instanceof PlayerInteractEvent.RightClickBlock) {
copy = new PlayerInteractEvent.RightClickBlock(event.getEntityPlayer(), event.getHand(), event.getPos(), event.getFace(), ((PlayerInteractEvent.RightClickBlock) event).getHitVec());
((PlayerInteractEvent.RightClickBlock)copy).setUseItem(((PlayerInteractEvent.RightClickBlock) event).getUseItem());
((PlayerInteractEvent.RightClickBlock)copy).setUseBlock(((PlayerInteractEvent.RightClickBlock) event).getUseBlock());
}
else if(event instanceof PlayerInteractEvent.RightClickItem)
copy = new PlayerInteractEvent.RightClickItem(event.getEntityPlayer(),event.getHand());
if(event.isCanceled()){
copy.setCanceled(true);
}
return copy;
}